From 7623a7b4734770ea3f0696cf97672d56f3229692 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Thu, 18 Mar 2021 20:50:02 -0700 Subject: [PATCH] multiline: remove HEREDOC: It wasn't used and our new multiline strings are better. --- basis/multiline/multiline-docs.factor | 25 +++-------- basis/multiline/multiline-tests.factor | 62 -------------------------- basis/multiline/multiline.factor | 24 ---------- misc/vim/syntax/factor.vim | 1 - 4 files changed, 7 insertions(+), 105 deletions(-) diff --git a/basis/multiline/multiline-docs.factor b/basis/multiline/multiline-docs.factor index fcd0699287..f8b64240eb 100644 --- a/basis/multiline/multiline-docs.factor +++ b/basis/multiline/multiline-docs.factor @@ -12,23 +12,7 @@ HELP: /* { $example "USING: multiline ;" "/* I think that I shall never see" " A poem lovely as a tree. */" - "" - } -} ; - -HELP: HEREDOC: -{ $syntax "HEREDOC: marker\n...text...\nmarker" } -{ $values { "marker" "a word (token)" } { "text" "arbitrary text" } { "value" string } } -{ $description "Returns a string delimited by an arbitrary user-defined token. This delimiter must be exactly the text beginning at the first non-blank character after " { $link POSTPONE: HEREDOC: } " until the end of the line containing " { $link POSTPONE: HEREDOC: } ". Text is captured until a line is found containing exactly this delimiter string." } -{ $warning "Whitespace is significant." } -{ $examples - { $example "USING: multiline prettyprint ;" - "HEREDOC: END\nx\nEND\n." - "\"x\\n\"" - } - { $example "USING: multiline prettyprint sequences ;" - "2 5 HEREDOC: zap\nfoo\nbar\nzap\nsubseq ." - "\"o\\nb\"" + "" } } ; @@ -41,7 +25,12 @@ ARTICLE: "multiline" "Multiline" "Multiline strings:" { $subsections POSTPONE: STRING: - POSTPONE: HEREDOC: + POSTPONE: [[ + POSTPONE: [=[ + POSTPONE: [==[ + POSTPONE: [===[ + POSTPONE: [====[ + POSTPONE: [=====[ } "Multiline comments:" { $subsections POSTPONE: /* } diff --git a/basis/multiline/multiline-tests.factor b/basis/multiline/multiline-tests.factor index dbc2688f4e..e7eedf27a9 100644 --- a/basis/multiline/multiline-tests.factor +++ b/basis/multiline/multiline-tests.factor @@ -9,68 +9,6 @@ bar { "foo\nbar\n" } [ test-it ] unit-test - -! HEREDOC: - -{ "foo\nbar\n" } [ HEREDOC: END -foo -bar -END -] unit-test - -{ "" } [ HEREDOC: END -END -] unit-test - -{ " END\n" } [ HEREDOC: END - END -END -] unit-test - -{ "\n" } [ HEREDOC: END - -END -] unit-test - -{ "x\n" } [ HEREDOC: END -x -END -] unit-test - -{ "x\n" } [ HEREDOC: END -x -END -] unit-test - -! there's a space after xyz -{ "xyz \n" } [ HEREDOC: END -xyz -END -] unit-test - -{ "} ! * # \" «\n" } [ HEREDOC: END -} ! * # " « -END -] unit-test - -{ 21 "foo\nbar\n" " HEREDOC: FOO\n FOO\n" 22 } [ 21 HEREDOC: X -foo -bar -X -HEREDOC: END - HEREDOC: FOO - FOO -END -22 ] unit-test - -{ "lol\n xyz\n" } -[ -HEREDOC: xyz -lol - xyz -xyz -] unit-test - /* << SYNTAX: MULTILINE-LITERAL: parse-here suffix! ; diff --git a/basis/multiline/multiline.factor b/basis/multiline/multiline.factor index ce5abbeac5..c36e6c49ce 100644 --- a/basis/multiline/multiline.factor +++ b/basis/multiline/multiline.factor @@ -61,22 +61,6 @@ SYNTAX: STRING: : advance-same-line ( lexer text -- ) length [ + ] curry change-column drop ; -:: (parse-til-line-begins) ( begin-text lexer -- ) - lexer still-parsing? [ - lexer line-text>> begin-text sequence= [ - lexer begin-text advance-same-line - ] [ - lexer line-text>> % CHAR: \n , - lexer next-line - begin-text lexer (parse-til-line-begins) - ] if - ] [ - begin-text bad-heredoc - ] if ; - -: parse-til-line-begins ( begin-text lexer -- seq ) - [ (parse-til-line-begins) ] "" make ; - PRIVATE> : parse-multiline-string ( end-text -- str ) @@ -84,14 +68,6 @@ PRIVATE> SYNTAX: /* "*/" parse-multiline-string drop ; -SYNTAX: HEREDOC: - lexer get { - [ skip-blank ] - [ rest-of-line ] - [ next-line ] - [ parse-til-line-begins ] - } cleave suffix! ; - SYNTAX: [[ "]]" parse-multiline-string suffix! ; SYNTAX: [=[ "]=]" parse-multiline-string suffix! ; SYNTAX: [==[ "]==]" parse-multiline-string suffix! ; diff --git a/misc/vim/syntax/factor.vim b/misc/vim/syntax/factor.vim index 4fece820b1..ea58a16c3e 100644 --- a/misc/vim/syntax/factor.vim +++ b/misc/vim/syntax/factor.vim @@ -152,7 +152,6 @@ syn region factorString matchgroup=factorStringDelims start=/\v<"/ syn region factorString matchgroup=factorStringDelims start=/\v<"""/ skip=/\v\\"/ end=/\v"""/ contains=factorEscape syn region factorString matchgroup=factorStringDelims start=/\v<[^[:blank:]"]+"/ skip=/\v\\"/ end=/\v"/ contains=factorEscape syn region factorString matchgroup=factorStringDelims start=/\v\[\z(\=*)\[/ end=/\]\z1\]/ contains=factorEscape -syn region factorString matchgroup=factorStringDelims start=/\v/ end=/\v^\z1$>/ syn region factorString matchgroup=factorStringDelims start=/\v<[^[\][:blank:]]+\[\z(\=*)\[>/ end=/\v\]\z1\]/ syn region factorNamedString matchgroup=factorNamedStringDelims start=/\v/ end=/\v^<;>$/ contains=factorEscape -- 2.34.1