vscode-liquidsoap 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +14 -9
- package/syntaxes/liquidsoap.tmLanguage.json +41 -12
- package/test-suite/fetch-stdlib.js +125 -0
- package/test-suite/run-tests.js +544 -0
- package/tests/snap/libs/audio.liq.snap +20 -10
- package/tests/snap/libs/fades.liq.snap +3 -1
- package/tests/snap/libs/ffmpeg.liq.snap +10 -5
- package/tests/snap/libs/file.liq.snap +1 -1
- package/tests/snap/libs/hls.liq.snap +22 -9
- package/tests/snap/libs/http.liq.snap +60 -22
- package/tests/snap/libs/icecast.liq.snap +19 -13
- package/tests/snap/libs/medialib.liq.snap +5 -2
- package/tests/snap/libs/metadata.liq.snap +7 -3
- package/tests/snap/libs/playlist.liq.snap +4 -2
- package/tests/snap/libs/protocols.liq.snap +70 -24
- package/tests/snap/libs/ref.liq.snap +4 -3
- package/tests/snap/libs/request.liq.snap +3 -1
- package/tests/snap/libs/resolvers.liq.snap +5 -2
- package/tests/snap/libs/settings.liq.snap +11 -5
- package/tests/snap/libs/source.liq.snap +2 -1
- package/tests/snap/libs/stdlib.liq.snap +52 -52
- package/tests/snap/libs/string.liq.snap +6 -4
- package/tests/snap/libs/switches.liq.snap +2 -2
- package/tests/snap/libs/testing.liq.snap +3 -1
- package/tests/snap/libs/thread.liq.snap +3 -1
- package/tests/snap/libs/video.liq.snap +21 -12
- package/tests/snap/tests/failures/ctype.liq +0 -0
- package/tests/snap/tests/failures/ctype.liq.snap +69 -11
- package/tests/snap/tests/failures/error.liq +0 -0
- package/tests/snap/tests/failures/error.liq.snap +21 -10
- package/tests/snap/tests/failures/record-invalid-member1.liq +0 -0
- package/tests/snap/tests/failures/record-invalid-member1.liq.snap +26 -11
- package/tests/snap/tests/failures/record-invalid-member2.liq +0 -0
- package/tests/snap/tests/failures/record-invalid-member2.liq.snap +13 -5
- package/tests/snap/tests/failures/ref.liq +0 -0
- package/tests/snap/tests/failures/ref.liq.snap +53 -17
- package/tests/snap/tests/fixme/GH1170.liq +0 -0
- package/tests/snap/tests/fixme/GH1170.liq.snap +139 -36
- package/tests/snap/tests/fixme/LS527.liq.snap +89 -32
- package/tests/snap/tests/fixme/cross2.liq +0 -0
- package/tests/snap/tests/fixme/cross2.liq.snap +122 -31
- package/tests/snap/tests/fixme/cross3.liq +0 -0
- package/tests/snap/tests/fixme/cross3.liq.snap +96 -26
- package/tests/snap/tests/fixme/sequence-1.liq +0 -0
- package/tests/snap/tests/fixme/sequence-1.liq.snap +168 -49
- package/tests/snap/tests/fixme/sequence-2.liq.snap +163 -42
- package/tests/snap/tests/harbor/http.liq.snap +2246 -798
- package/tests/snap/tests/harbor/http2.liq.snap +447 -150
- package/tests/snap/tests/harbor/http3.liq.snap +238 -99
- package/tests/snap/tests/harbor/post.liq.snap +1416 -575
- package/tests/snap/tests/harbor/put.liq.snap +1416 -578
- package/tests/snap/tests/language/argsof.liq +0 -0
- package/tests/snap/tests/language/argsof.liq.snap +342 -74
- package/tests/snap/tests/language/bool.liq +0 -0
- package/tests/snap/tests/language/bool.liq.snap +129 -29
- package/tests/snap/tests/language/comments.liq.snap +188 -95
- package/tests/snap/tests/language/conversions.liq.snap +181 -68
- package/tests/snap/tests/language/doc.liq +0 -0
- package/tests/snap/tests/language/doc.liq.snap +42 -13
- package/tests/snap/tests/language/encoders.liq +0 -0
- package/tests/snap/tests/language/encoders.liq.snap +153 -39
- package/tests/snap/tests/language/error.liq +0 -0
- package/tests/snap/tests/language/error.liq.snap +677 -179
- package/tests/snap/tests/language/eval.liq +0 -0
- package/tests/snap/tests/language/eval.liq.snap +761 -308
- package/tests/snap/tests/language/file.liq +0 -0
- package/tests/snap/tests/language/file.liq.snap +326 -92
- package/tests/snap/tests/language/file.watch.liq +0 -0
- package/tests/snap/tests/language/file.watch.liq.snap +122 -30
- package/tests/snap/tests/language/file.watch2.liq +0 -0
- package/tests/snap/tests/language/file.watch2.liq.snap +147 -42
- package/tests/snap/tests/language/file_protocol.liq +0 -0
- package/tests/snap/tests/language/file_protocol.liq.snap +109 -32
- package/tests/snap/tests/language/functions.liq +0 -0
- package/tests/snap/tests/language/functions.liq.snap +189 -59
- package/tests/snap/tests/language/getter.liq +0 -0
- package/tests/snap/tests/language/getter.liq.snap +470 -133
- package/tests/snap/tests/language/interactive.liq +0 -0
- package/tests/snap/tests/language/interactive.liq.snap +254 -83
- package/tests/snap/tests/language/interpolation.liq +20 -0
- package/tests/snap/tests/language/interpolation.liq.snap +141 -0
- package/tests/snap/tests/language/json.liq +0 -0
- package/tests/snap/tests/language/json.liq.snap +1304 -738
- package/tests/snap/tests/language/list.liq +0 -0
- package/tests/snap/tests/language/list.liq.snap +1932 -883
- package/tests/snap/tests/language/loop.liq +0 -0
- package/tests/snap/tests/language/loop.liq.snap +276 -101
- package/tests/snap/tests/language/math.liq +0 -0
- package/tests/snap/tests/language/math.liq.snap +134 -26
- package/tests/snap/tests/language/mem_usage.liq +0 -0
- package/tests/snap/tests/language/mem_usage.liq.snap +66 -17
- package/tests/snap/tests/language/metadata.liq +0 -0
- package/tests/snap/tests/language/metadata.liq.snap +606 -177
- package/tests/snap/tests/language/null.liq +0 -0
- package/tests/snap/tests/language/null.liq.snap +351 -131
- package/tests/snap/tests/language/osc.liq +0 -0
- package/tests/snap/tests/language/osc.liq.snap +350 -124
- package/tests/snap/tests/language/pattern.liq +0 -0
- package/tests/snap/tests/language/pattern.liq.snap +955 -308
- package/tests/snap/tests/language/pp.liq +0 -0
- package/tests/snap/tests/language/pp.liq.snap +227 -78
- package/tests/snap/tests/language/predicate.liq +0 -0
- package/tests/snap/tests/language/predicate.liq.snap +365 -70
- package/tests/snap/tests/language/process.liq +0 -0
- package/tests/snap/tests/language/process.liq.snap +227 -99
- package/tests/snap/tests/language/rec.liq +0 -0
- package/tests/snap/tests/language/rec.liq.snap +134 -49
- package/tests/snap/tests/language/record.liq +0 -0
- package/tests/snap/tests/language/record.liq.snap +2251 -570
- package/tests/snap/tests/language/ref.liq +0 -0
- package/tests/snap/tests/language/ref.liq.snap +208 -55
- package/tests/snap/tests/language/regexp.liq +0 -0
- package/tests/snap/tests/language/regexp.liq.snap +327 -176
- package/tests/snap/tests/language/socket.liq.snap +279 -96
- package/tests/snap/tests/language/stdlib.liq +0 -0
- package/tests/snap/tests/language/stdlib.liq.snap +170 -51
- package/tests/snap/tests/language/string.liq +0 -0
- package/tests/snap/tests/language/string.liq.snap +1747 -860
- package/tests/snap/tests/language/test_cover.liq.snap +57 -20
- package/tests/snap/tests/language/thread.liq.snap +391 -102
- package/tests/snap/tests/language/time.liq +0 -0
- package/tests/snap/tests/language/time.liq.snap +115 -33
- package/tests/snap/tests/language/type_errors.liq +0 -0
- package/tests/snap/tests/language/type_errors.liq.snap +1042 -703
- package/tests/snap/tests/language/types.liq +33 -0
- package/tests/snap/tests/language/types.liq.snap +321 -0
- package/tests/snap/tests/language/typing.liq +0 -0
- package/tests/snap/tests/language/typing.liq.snap +1233 -405
- package/tests/snap/tests/language/url.liq +0 -0
- package/tests/snap/tests/language/url.liq.snap +84 -38
- package/tests/snap/tests/language/write_cover.liq.snap +44 -15
- package/tests/snap/tests/language/yaml.liq.snap +252 -97
- package/tests/snap/tests/media/ffmpeg_add_text.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_add_text.liq.snap +558 -120
- package/tests/snap/tests/media/ffmpeg_audio_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_audio_decoder.liq.snap +228 -49
- package/tests/snap/tests/media/ffmpeg_complex_filter.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_complex_filter.liq.snap +544 -68
- package/tests/snap/tests/media/ffmpeg_copy_and_encode_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_copy_and_encode_decoder.liq.snap +362 -68
- package/tests/snap/tests/media/ffmpeg_copy_concat.liq.snap +159 -56
- package/tests/snap/tests/media/ffmpeg_copy_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_copy_decoder.liq.snap +507 -121
- package/tests/snap/tests/media/ffmpeg_distributed_hls.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_distributed_hls.liq.snap +645 -186
- package/tests/snap/tests/media/ffmpeg_filter.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_filter.liq.snap +603 -101
- package/tests/snap/tests/media/ffmpeg_filter_changing_rate.liq.snap +712 -142
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode.liq.snap +530 -131
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode_audio.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode_audio.liq.snap +365 -94
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode_video.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_inline_encode_decode_video.liq.snap +365 -94
- package/tests/snap/tests/media/ffmpeg_raw_and_copy_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_raw_and_copy_decoder.liq.snap +514 -125
- package/tests/snap/tests/media/ffmpeg_raw_and_encode_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_raw_and_encode_decoder.liq.snap +385 -73
- package/tests/snap/tests/media/ffmpeg_raw_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_raw_decoder.liq.snap +370 -72
- package/tests/snap/tests/media/ffmpeg_raw_hls.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_raw_hls.liq.snap +629 -193
- package/tests/snap/tests/media/ffmpeg_transparency_filter.liq.snap +538 -109
- package/tests/snap/tests/media/ffmpeg_video_decoder.liq +0 -0
- package/tests/snap/tests/media/ffmpeg_video_decoder.liq.snap +236 -59
- package/tests/snap/tests/media/mono.liq +0 -0
- package/tests/snap/tests/media/mono.liq.snap +223 -47
- package/tests/snap/tests/media/multitrack.liq.snap +790 -235
- package/tests/snap/tests/media/pcm_f32_decode.liq +0 -0
- package/tests/snap/tests/media/pcm_f32_decode.liq.snap +61 -12
- package/tests/snap/tests/media/pcm_s16_decode.liq +0 -0
- package/tests/snap/tests/media/pcm_s16_decode.liq.snap +61 -12
- package/tests/snap/tests/media/stereo.liq +0 -0
- package/tests/snap/tests/media/stereo.liq.snap +223 -47
- package/tests/snap/tests/media/stream_audio.liq.in +0 -0
- package/tests/snap/tests/media/stream_video.liq.in +0 -0
- package/tests/snap/tests/media/taglib.liq +0 -0
- package/tests/snap/tests/media/taglib.liq.snap +77 -26
- package/tests/snap/tests/media/video_size.liq +0 -0
- package/tests/snap/tests/media/video_size.liq.snap +305 -68
- package/tests/snap/tests/performance/erathostenes.liq +0 -0
- package/tests/snap/tests/performance/erathostenes.liq.snap +281 -62
- package/tests/snap/tests/performance/performance.liq.snap +99 -26
- package/tests/snap/tests/performance/small-record.liq +0 -0
- package/tests/snap/tests/performance/small-record.liq.snap +626 -320
- package/tests/snap/tests/regression/115-1.liq +0 -0
- package/tests/snap/tests/regression/115-1.liq.snap +74 -15
- package/tests/snap/tests/regression/115-2.liq +0 -0
- package/tests/snap/tests/regression/115-2.liq.snap +101 -16
- package/tests/snap/tests/regression/AC5109.liq +0 -0
- package/tests/snap/tests/regression/AC5109.liq.snap +216 -78
- package/tests/snap/tests/regression/BUG403.liq +0 -0
- package/tests/snap/tests/regression/BUG403.liq.snap +136 -33
- package/tests/snap/tests/regression/GH-action-919422659.liq +0 -0
- package/tests/snap/tests/regression/GH-action-919422659.liq.snap +105 -34
- package/tests/snap/tests/regression/GH1129.liq +0 -0
- package/tests/snap/tests/regression/GH1129.liq.snap +351 -153
- package/tests/snap/tests/regression/GH1146.liq +0 -0
- package/tests/snap/tests/regression/GH1146.liq.snap +82 -27
- package/tests/snap/tests/regression/GH1151.liq +0 -0
- package/tests/snap/tests/regression/GH1151.liq.snap +55 -25
- package/tests/snap/tests/regression/GH1159.liq +0 -0
- package/tests/snap/tests/regression/GH1159.liq.snap +97 -30
- package/tests/snap/tests/regression/GH1279.liq +0 -0
- package/tests/snap/tests/regression/GH1279.liq.snap +270 -108
- package/tests/snap/tests/regression/GH1327.liq +0 -0
- package/tests/snap/tests/regression/GH1327.liq.snap +380 -134
- package/tests/snap/tests/regression/GH2585.liq.snap +110 -45
- package/tests/snap/tests/regression/GH2602.liq.snap +116 -30
- package/tests/snap/tests/regression/GH2756-2.liq.snap +361 -104
- package/tests/snap/tests/regression/GH2756.liq.snap +419 -119
- package/tests/snap/tests/regression/GH2758.liq.snap +113 -30
- package/tests/snap/tests/regression/GH2842.liq.snap +151 -50
- package/tests/snap/tests/regression/GH2850.liq.snap +358 -146
- package/tests/snap/tests/regression/GH2867.liq.snap +46 -15
- package/tests/snap/tests/regression/GH2871.liq.snap +86 -30
- package/tests/snap/tests/regression/GH2872.liq.snap +103 -32
- package/tests/snap/tests/regression/GH2897.liq.snap +123 -33
- package/tests/snap/tests/regression/GH2902.liq.snap +326 -109
- package/tests/snap/tests/regression/GH2926.liq.snap +121 -39
- package/tests/snap/tests/regression/GH3093.liq.snap +46 -11
- package/tests/snap/tests/regression/GH3121.liq.snap +138 -36
- package/tests/snap/tests/regression/GH3132.liq.snap +146 -43
- package/tests/snap/tests/regression/GH3224.liq.snap +18 -10
- package/tests/snap/tests/regression/GH3239-2.liq.snap +154 -34
- package/tests/snap/tests/regression/GH3239.liq.snap +149 -33
- package/tests/snap/tests/regression/GH3276.liq.snap +164 -53
- package/tests/snap/tests/regression/GH3316.liq.snap +229 -55
- package/tests/snap/tests/regression/LS268.liq +0 -0
- package/tests/snap/tests/regression/LS268.liq.snap +102 -19
- package/tests/snap/tests/regression/LS354-1.liq +0 -0
- package/tests/snap/tests/regression/LS354-1.liq.snap +117 -28
- package/tests/snap/tests/regression/LS354-2.liq +0 -0
- package/tests/snap/tests/regression/LS354-2.liq.snap +154 -56
- package/tests/snap/tests/regression/LS460.liq +0 -0
- package/tests/snap/tests/regression/LS460.liq.snap +145 -49
- package/tests/snap/tests/regression/LS503.liq +0 -0
- package/tests/snap/tests/regression/LS503.liq.snap +71 -24
- package/tests/snap/tests/regression/default_format.liq.snap +43 -7
- package/tests/snap/tests/regression/external-encoder.liq.snap +72 -28
- package/tests/snap/tests/regression/ffmpeg-copy-encode.liq.snap +167 -62
- package/tests/snap/tests/regression/ffmpeg-copy-input-http.liq.snap +55 -13
- package/tests/snap/tests/regression/ffmpeg-naming-convention.liq.snap +371 -126
- package/tests/snap/tests/regression/infallible-shutdown.liq +0 -0
- package/tests/snap/tests/regression/infallible-shutdown.liq.snap +26 -6
- package/tests/snap/tests/regression/init-error.liq +0 -0
- package/tests/snap/tests/regression/init-error.liq.snap +70 -10
- package/tests/snap/tests/regression/initial_request_queue.liq.snap +69 -14
- package/tests/snap/tests/regression/input_rtmp.liq +0 -0
- package/tests/snap/tests/regression/input_rtmp.liq.snap +28 -7
- package/tests/snap/tests/regression/metadata_cache.liq +0 -0
- package/tests/snap/tests/regression/metadata_cache.liq.snap +173 -56
- package/tests/snap/tests/regression/playlist-id.liq +0 -0
- package/tests/snap/tests/regression/playlist-id.liq.snap +126 -56
- package/tests/snap/tests/regression/replaygain.liq.snap +53 -11
- package/tests/snap/tests/regression/shoutcast-args.liq.snap +52 -24
- package/tests/snap/tests/regression/unified-pcm-types.liq.snap +91 -28
- package/tests/snap/tests/regression/video-only.liq.snap +121 -33
- package/tests/snap/tests/streams/195.liq +0 -0
- package/tests/snap/tests/streams/195.liq.snap +63 -26
- package/tests/snap/tests/streams/197.liq +0 -0
- package/tests/snap/tests/streams/197.liq.snap +129 -40
- package/tests/snap/tests/streams/autostart.liq +0 -0
- package/tests/snap/tests/streams/autostart.liq.snap +147 -37
- package/tests/snap/tests/streams/cross-override.liq.snap +338 -92
- package/tests/snap/tests/streams/cross-persist-override.liq.snap +342 -92
- package/tests/snap/tests/streams/cross.liq +0 -0
- package/tests/snap/tests/streams/cross.liq.snap +343 -90
- package/tests/snap/tests/streams/crossfade.liq +0 -0
- package/tests/snap/tests/streams/crossfade.liq.snap +476 -128
- package/tests/snap/tests/streams/ctype1.liq +0 -0
- package/tests/snap/tests/streams/ctype1.liq.snap +89 -26
- package/tests/snap/tests/streams/ctype2.liq +0 -0
- package/tests/snap/tests/streams/ctype2.liq.snap +114 -30
- package/tests/snap/tests/streams/dtmf.liq +0 -0
- package/tests/snap/tests/streams/dtmf.liq.snap +129 -32
- package/tests/snap/tests/streams/dtmf_pcm_s16.liq +0 -0
- package/tests/snap/tests/streams/dtmf_pcm_s16.liq.snap +161 -38
- package/tests/snap/tests/streams/fades-overrides.liq.snap +472 -121
- package/tests/snap/tests/streams/fades-persistent-override.liq.snap +482 -121
- package/tests/snap/tests/streams/ffmpeg-errors.liq.snap +108 -30
- package/tests/snap/tests/streams/ffmpeg-trim.liq.snap +63 -18
- package/tests/snap/tests/streams/file_output.liq.snap +131 -33
- package/tests/snap/tests/streams/harbor_kick_client.liq.snap +235 -72
- package/tests/snap/tests/streams/harbor_metadata.liq.snap +206 -96
- package/tests/snap/tests/streams/hls_custom_tags.liq.snap +407 -125
- package/tests/snap/tests/streams/hls_id3v2.liq.snap +742 -257
- package/tests/snap/tests/streams/huge-playlist.liq +0 -0
- package/tests/snap/tests/streams/huge-playlist.liq.snap +125 -40
- package/tests/snap/tests/streams/icecast_ssl.liq.snap +134 -42
- package/tests/snap/tests/streams/icecast_ssl_tls.liq.snap +164 -55
- package/tests/snap/tests/streams/icecast_tls.liq.snap +163 -53
- package/tests/snap/tests/streams/icecast_tls_ssl.liq.snap +164 -55
- package/tests/snap/tests/streams/image.liq +0 -0
- package/tests/snap/tests/streams/image.liq.snap +44 -10
- package/tests/snap/tests/streams/many-playlists.liq +0 -0
- package/tests/snap/tests/streams/many-playlists.liq.snap +142 -48
- package/tests/snap/tests/streams/merge_metadata.liq.snap +224 -63
- package/tests/snap/tests/streams/never.liq +0 -0
- package/tests/snap/tests/streams/never.liq.snap +56 -11
- package/tests/snap/tests/streams/on_frame.liq +0 -0
- package/tests/snap/tests/streams/on_frame.liq.snap +81 -23
- package/tests/snap/tests/streams/on_metadata.liq +0 -0
- package/tests/snap/tests/streams/on_metadata.liq.snap +103 -37
- package/tests/snap/tests/streams/on_track.liq +0 -0
- package/tests/snap/tests/streams/on_track.liq.snap +69 -18
- package/tests/snap/tests/streams/playlist-watch.liq +0 -0
- package/tests/snap/tests/streams/playlist-watch.liq.snap +195 -56
- package/tests/snap/tests/streams/radio.liq +0 -0
- package/tests/snap/tests/streams/radio.liq.snap +72 -17
- package/tests/snap/tests/streams/radio2.liq +0 -0
- package/tests/snap/tests/streams/radio2.liq.snap +143 -48
- package/tests/snap/tests/streams/random.liq +0 -0
- package/tests/snap/tests/streams/random.liq.snap +395 -171
- package/tests/snap/tests/streams/replaygain.liq +0 -0
- package/tests/snap/tests/streams/replaygain.liq.snap +62 -19
- package/tests/snap/tests/streams/request.liq +0 -0
- package/tests/snap/tests/streams/request.liq.snap +361 -145
- package/tests/snap/tests/streams/rotate.liq +0 -0
- package/tests/snap/tests/streams/rotate.liq.snap +421 -151
- package/tests/snap/tests/streams/say.liq +0 -0
- package/tests/snap/tests/streams/say.liq.snap +139 -32
- package/tests/snap/tests/streams/seek_track_map.liq.snap +143 -48
- package/tests/snap/tests/streams/sharing.liq +0 -0
- package/tests/snap/tests/streams/sharing.liq.snap +109 -25
- package/tests/snap/tests/streams/sine.detect.full_conv.liq +0 -0
- package/tests/snap/tests/streams/sine.detect.full_conv.liq.snap +127 -33
- package/tests/snap/tests/streams/sine.detect.liq +0 -0
- package/tests/snap/tests/streams/sine.detect.liq.snap +71 -20
- package/tests/snap/tests/streams/sine.detect.pcm_f32.liq +0 -0
- package/tests/snap/tests/streams/sine.detect.pcm_f32.liq.snap +95 -26
- package/tests/snap/tests/streams/sine.detect.pcm_s16.liq +0 -0
- package/tests/snap/tests/streams/sine.detect.pcm_s16.liq.snap +95 -26
- package/tests/snap/tests/streams/smart-crossfade.liq +0 -0
- package/tests/snap/tests/streams/smart-crossfade.liq.snap +101 -25
- package/tests/snap/tests/streams/srt_listen_callback.liq.snap +149 -38
- package/tests/snap/tests/streams/srt_multiple_outputs.liq.snap +146 -35
- package/tests/snap/tests/streams/srt_passphrase.liq.snap +92 -27
- package/tests/snap/tests/streams/srt_raw_pcm.liq.snap +134 -43
- package/tests/snap/tests/streams/stretch-clock-propagation.liq +0 -0
- package/tests/snap/tests/streams/stretch-clock-propagation.liq.snap +86 -20
- package/tests/snap/tests/test.liq +0 -0
package/package.json
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"publisher": "savonet",
|
|
6
6
|
"repository": "https://github.com/savonet/vscode-liquidsoap.git",
|
|
7
7
|
"homepage": "https://github.com/savonet/vscode-liquidsoap",
|
|
8
|
-
"version": "0.
|
|
8
|
+
"version": "0.3.0",
|
|
9
9
|
"engines": {
|
|
10
|
-
"vscode": "^1.
|
|
10
|
+
"vscode": "^1.98.0"
|
|
11
11
|
},
|
|
12
12
|
"icon": "assets/logo.png",
|
|
13
13
|
"license": "MIT",
|
|
@@ -16,6 +16,15 @@
|
|
|
16
16
|
"Formatters"
|
|
17
17
|
],
|
|
18
18
|
"main": "dist/extension.js",
|
|
19
|
+
"scripts": {
|
|
20
|
+
"release": "pnpm build && vsce publish",
|
|
21
|
+
"build": "webpack --config webpack.config.js",
|
|
22
|
+
"typecheck": "tsc --noEmit",
|
|
23
|
+
"update:snapshots": "vscode-tmgrammar-snap --updateSnapshot tests/snap/**/*.liq",
|
|
24
|
+
"test:fetch-stdlib": "node test-suite/fetch-stdlib.js",
|
|
25
|
+
"test": "node test-suite/run-tests.js",
|
|
26
|
+
"test:full": "npm run test:fetch-stdlib && npm run test"
|
|
27
|
+
},
|
|
19
28
|
"contributes": {
|
|
20
29
|
"languages": [
|
|
21
30
|
{
|
|
@@ -45,14 +54,10 @@
|
|
|
45
54
|
"prettier": "^3.5.3",
|
|
46
55
|
"ts-loader": "^9.5.2",
|
|
47
56
|
"typescript": "^5.8.2",
|
|
57
|
+
"vscode-oniguruma": "^1.7.0",
|
|
58
|
+
"vscode-textmate": "^9.0.0",
|
|
48
59
|
"vscode-tmgrammar-test": "^0.1.3",
|
|
49
60
|
"webpack": "^5.98.0",
|
|
50
61
|
"webpack-cli": "^5.1.4"
|
|
51
|
-
},
|
|
52
|
-
"scripts": {
|
|
53
|
-
"release": "pnpm build && vsce publish",
|
|
54
|
-
"build": "webpack --config webpack.config.js",
|
|
55
|
-
"typecheck": "tsc --noEmit",
|
|
56
|
-
"update:snapshots": "vscode-tmgrammar-snap --updateSnapshot tests/snap/**/*.liq"
|
|
57
62
|
}
|
|
58
|
-
}
|
|
63
|
+
}
|
|
@@ -13,7 +13,11 @@
|
|
|
13
13
|
"patterns": [
|
|
14
14
|
{
|
|
15
15
|
"name": "keyword.other.liquidsoap",
|
|
16
|
-
"match": "(%ifdef|%ifndef|%ifversion|%ifnversion|%ifencoder|%ifnencoder|%else|%endif)\\b"
|
|
16
|
+
"match": "(%ifdef|%ifndef|%ifversion|%ifnversion|%ifencoder|%ifnencoder|%else|%endif|%include_extra|%include)\\b"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "keyword.other.liquidsoap",
|
|
20
|
+
"match": "\\bopen\\b"
|
|
17
21
|
},
|
|
18
22
|
{
|
|
19
23
|
"name": "keyword.control.function.declaration.liquidsoap",
|
|
@@ -23,6 +27,10 @@
|
|
|
23
27
|
"name": "keyword.operator.boolean.liquidsoap",
|
|
24
28
|
"match": "\\b(and|or|not)\\b"
|
|
25
29
|
},
|
|
30
|
+
{
|
|
31
|
+
"name": "keyword.operator.arithmetic.liquidsoap",
|
|
32
|
+
"match": "\\bmod\\b"
|
|
33
|
+
},
|
|
26
34
|
{
|
|
27
35
|
"name": "keyword.operator.spread.liquidsoap",
|
|
28
36
|
"match": "\\.\\.\\."
|
|
@@ -35,6 +43,10 @@
|
|
|
35
43
|
"name": "keyword.operator.arithmetic.liquidsoap",
|
|
36
44
|
"match": "[+\\-/*]\\.?"
|
|
37
45
|
},
|
|
46
|
+
{
|
|
47
|
+
"name": "keyword.operator.concat.liquidsoap",
|
|
48
|
+
"match": "\\^"
|
|
49
|
+
},
|
|
38
50
|
{
|
|
39
51
|
"name": "keyword.operator.compare.liquidsoap",
|
|
40
52
|
"match": "(>=|<=|>|<|==|!=)"
|
|
@@ -47,6 +59,10 @@
|
|
|
47
59
|
"name": "keyword.operator.coalesce.liquidsoap",
|
|
48
60
|
"match": "\\?\\?"
|
|
49
61
|
},
|
|
62
|
+
{
|
|
63
|
+
"name": "keyword.operator.dereference.liquidsoap",
|
|
64
|
+
"match": "!(?=[a-zA-Z_])"
|
|
65
|
+
},
|
|
50
66
|
{
|
|
51
67
|
"comment": "comma separator",
|
|
52
68
|
"name": "keyword.other.liquidsoap punctuation.comma punctuation.separator.comma",
|
|
@@ -214,6 +230,10 @@
|
|
|
214
230
|
},
|
|
215
231
|
"patterns": [{ "include": "#expressions" }]
|
|
216
232
|
},
|
|
233
|
+
{
|
|
234
|
+
"match": "\\bfinally\\b",
|
|
235
|
+
"name": "keyword.control.liquidsoap"
|
|
236
|
+
},
|
|
217
237
|
{ "include": "$self" }
|
|
218
238
|
]
|
|
219
239
|
},
|
|
@@ -276,7 +296,7 @@
|
|
|
276
296
|
"types": {
|
|
277
297
|
"patterns": [
|
|
278
298
|
{
|
|
279
|
-
"match": "\\b(int|float|unit|bool)(?:(\\?)|\\b)",
|
|
299
|
+
"match": "\\b(int|float|unit|bool|string|never|ref)(?:(\\?)|\\b)",
|
|
280
300
|
"captures": {
|
|
281
301
|
"1": { "name": "storage.type.ground.liquidsoap" },
|
|
282
302
|
"2": { "name": "keyword.other.liquidsoap" }
|
|
@@ -410,11 +430,11 @@
|
|
|
410
430
|
"name": "constant.numeric.decimal.float.liquidsoap"
|
|
411
431
|
},
|
|
412
432
|
{
|
|
413
|
-
"match": "\\b0(x|X)[0-
|
|
433
|
+
"match": "\\b0(x|X)[0-9a-fA-F][0-9a-fA-F_]*\\b",
|
|
414
434
|
"name": "constant.numeric.hexadecimal.integer.liquidsoap"
|
|
415
435
|
},
|
|
416
436
|
{
|
|
417
|
-
"match": "\\b0(o|O)[0-
|
|
437
|
+
"match": "\\b0(o|O)[0-7][0-7_]*\\b",
|
|
418
438
|
"name": "constant.numeric.octal.integer.liquidsoap"
|
|
419
439
|
},
|
|
420
440
|
{
|
|
@@ -472,6 +492,14 @@
|
|
|
472
492
|
{
|
|
473
493
|
"match": "@argsof",
|
|
474
494
|
"name": "comment.doc.argsof.liquidsoap"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"match": "@flag",
|
|
498
|
+
"name": "comment.doc.flag.liquidsoap"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
"match": "@docof",
|
|
502
|
+
"name": "comment.doc.docof.liquidsoap"
|
|
475
503
|
}
|
|
476
504
|
]
|
|
477
505
|
},
|
|
@@ -509,16 +537,17 @@
|
|
|
509
537
|
"match": "\\\\."
|
|
510
538
|
},
|
|
511
539
|
{
|
|
512
|
-
"name": "
|
|
540
|
+
"name": "meta.interpolation.liquidsoap",
|
|
541
|
+
"contentName": "meta.embedded.line.liquidsoap",
|
|
513
542
|
"begin": "#\\{",
|
|
514
543
|
"end": "\\}",
|
|
515
|
-
"
|
|
516
|
-
{
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
]
|
|
544
|
+
"beginCaptures": {
|
|
545
|
+
"0": { "name": "punctuation.section.interpolation.begin.liquidsoap" }
|
|
546
|
+
},
|
|
547
|
+
"endCaptures": {
|
|
548
|
+
"0": { "name": "punctuation.section.interpolation.end.liquidsoap" }
|
|
549
|
+
},
|
|
550
|
+
"patterns": [{ "include": "#expressions" }]
|
|
522
551
|
}
|
|
523
552
|
]
|
|
524
553
|
},
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Fetches liquidsoap standard library files from GitHub for testing
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
const https = require("https");
|
|
8
|
+
const fs = require("fs");
|
|
9
|
+
const path = require("path");
|
|
10
|
+
|
|
11
|
+
const GITHUB_API = "https://api.github.com";
|
|
12
|
+
const REPO_OWNER = "savonet";
|
|
13
|
+
const REPO_NAME = "liquidsoap";
|
|
14
|
+
const LIBS_PATH = "src/libs";
|
|
15
|
+
const OUTPUT_DIR = path.join(__dirname, "stdlib");
|
|
16
|
+
|
|
17
|
+
async function fetchJson(url) {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
const options = {
|
|
20
|
+
headers: {
|
|
21
|
+
"User-Agent": "vscode-liquidsoap-test-suite",
|
|
22
|
+
Accept: "application/vnd.github.v3+json",
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
https
|
|
27
|
+
.get(url, options, (res) => {
|
|
28
|
+
let data = "";
|
|
29
|
+
res.on("data", (chunk) => (data += chunk));
|
|
30
|
+
res.on("end", () => {
|
|
31
|
+
if (res.statusCode === 200) {
|
|
32
|
+
resolve(JSON.parse(data));
|
|
33
|
+
} else {
|
|
34
|
+
reject(
|
|
35
|
+
new Error(`HTTP ${res.statusCode}: ${data.substring(0, 200)}`)
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
})
|
|
40
|
+
.on("error", reject);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
async function fetchRaw(url) {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
https
|
|
47
|
+
.get(url, { headers: { "User-Agent": "vscode-liquidsoap-test-suite" } }, (res) => {
|
|
48
|
+
if (res.statusCode === 301 || res.statusCode === 302) {
|
|
49
|
+
fetchRaw(res.headers.location).then(resolve).catch(reject);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
let data = "";
|
|
53
|
+
res.on("data", (chunk) => (data += chunk));
|
|
54
|
+
res.on("end", () => {
|
|
55
|
+
if (res.statusCode === 200) {
|
|
56
|
+
resolve(data);
|
|
57
|
+
} else {
|
|
58
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
})
|
|
62
|
+
.on("error", reject);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async function getDirectoryContents(dirPath) {
|
|
67
|
+
const url = `${GITHUB_API}/repos/${REPO_OWNER}/${REPO_NAME}/contents/${dirPath}`;
|
|
68
|
+
return fetchJson(url);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
async function downloadFile(file, outputPath) {
|
|
72
|
+
console.log(` Downloading: ${file.name}`);
|
|
73
|
+
const content = await fetchRaw(file.download_url);
|
|
74
|
+
fs.writeFileSync(outputPath, content, "utf8");
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
async function processDirectory(dirPath, outputDir) {
|
|
78
|
+
const contents = await getDirectoryContents(dirPath);
|
|
79
|
+
|
|
80
|
+
for (const item of contents) {
|
|
81
|
+
const itemOutputPath = path.join(outputDir, item.name);
|
|
82
|
+
|
|
83
|
+
if (item.type === "dir") {
|
|
84
|
+
fs.mkdirSync(itemOutputPath, { recursive: true });
|
|
85
|
+
await processDirectory(item.path, itemOutputPath);
|
|
86
|
+
} else if (item.name.endsWith(".liq")) {
|
|
87
|
+
await downloadFile(item, itemOutputPath);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
async function main() {
|
|
93
|
+
console.log("Fetching liquidsoap standard library files...\n");
|
|
94
|
+
|
|
95
|
+
// Clean and create output directory
|
|
96
|
+
if (fs.existsSync(OUTPUT_DIR)) {
|
|
97
|
+
fs.rmSync(OUTPUT_DIR, { recursive: true });
|
|
98
|
+
}
|
|
99
|
+
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
|
|
100
|
+
|
|
101
|
+
try {
|
|
102
|
+
await processDirectory(LIBS_PATH, OUTPUT_DIR);
|
|
103
|
+
console.log("\nDone! Files saved to:", OUTPUT_DIR);
|
|
104
|
+
|
|
105
|
+
// Count files
|
|
106
|
+
const countFiles = (dir) => {
|
|
107
|
+
let count = 0;
|
|
108
|
+
for (const item of fs.readdirSync(dir)) {
|
|
109
|
+
const fullPath = path.join(dir, item);
|
|
110
|
+
if (fs.statSync(fullPath).isDirectory()) {
|
|
111
|
+
count += countFiles(fullPath);
|
|
112
|
+
} else if (item.endsWith(".liq")) {
|
|
113
|
+
count++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return count;
|
|
117
|
+
};
|
|
118
|
+
console.log(`Total .liq files: ${countFiles(OUTPUT_DIR)}`);
|
|
119
|
+
} catch (err) {
|
|
120
|
+
console.error("Error:", err.message);
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
main();
|