Skip to content

Commit 5a262b0

Browse files
committed
Fix heredoc
1 parent 516eb10 commit 5a262b0

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

autoload/vimlparser.vim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1495,7 +1495,7 @@ function! s:VimLParser.parse_heredoc()
14951495

14961496
while s:TRUE
14971497
call self.reader.skip_white()
1498-
let key = self.reader.read_alpha()
1498+
let key = self.reader.read_word()
14991499
if key == ''
15001500
break
15011501
endif
@@ -1506,7 +1506,7 @@ function! s:VimLParser.parse_heredoc()
15061506
call add(node.rlist, key)
15071507
endif
15081508
endwhile
1509-
if node.op ==# '' || node.op !~# '^[^a-z]\S\+$'
1509+
if node.op ==# ''
15101510
throw s:Err('E172: Missing marker', self.reader.getpos())
15111511
endif
15121512
call self.parse_trail()

js/vimlparser.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1781,7 +1781,7 @@ VimLParser.prototype.parse_heredoc = function() {
17811781
node.body = [];
17821782
while (TRUE) {
17831783
this.reader.skip_white();
1784-
var key = this.reader.read_alpha();
1784+
var key = this.reader.read_word();
17851785
if (key == "") {
17861786
break;
17871787
}
@@ -1793,7 +1793,7 @@ VimLParser.prototype.parse_heredoc = function() {
17931793
viml_add(node.rlist, key);
17941794
}
17951795
}
1796-
if (node.op == "" || !viml_eqregh(node.op, "^[^a-z]\\S\\+$")) {
1796+
if (node.op == "") {
17971797
throw Err("E172: Missing marker", this.reader.getpos());
17981798
}
17991799
this.parse_trail();

py/vimlfunc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class AttributeDict(dict):
8383
"^[0-9A-Fa-f][0-9A-Fa-f]$" : "^[0-9A-Fa-f][0-9A-Fa-f]$",
8484
"^\.[0-9A-Fa-f]$" : "^\.[0-9A-Fa-f]$",
8585
"^[0-9A-Fa-f][^0-9A-Fa-f]$" : "^[0-9A-Fa-f][^0-9A-Fa-f]$",
86+
"^[^a-z]\\S\\+$": "^[^a-z]\\S\\+$",
8687
}
8788

8889
def viml_add(lst, item):

py/vimlparser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class AttributeDict(dict):
8383
"^[0-9A-Fa-f][0-9A-Fa-f]$" : "^[0-9A-Fa-f][0-9A-Fa-f]$",
8484
"^\.[0-9A-Fa-f]$" : "^\.[0-9A-Fa-f]$",
8585
"^[0-9A-Fa-f][^0-9A-Fa-f]$" : "^[0-9A-Fa-f][^0-9A-Fa-f]$",
86+
"^[^a-z]\\S\\+$": "^[^a-z]\\S\\+$",
8687
}
8788

8889
def viml_add(lst, item):
@@ -1412,15 +1413,15 @@ def parse_heredoc(self):
14121413
node.body = []
14131414
while TRUE:
14141415
self.reader.skip_white()
1415-
key = self.reader.read_alpha()
1416+
key = self.reader.read_word()
14161417
if key == "":
14171418
break
14181419
if not islower(key[0]):
14191420
node.op = key
14201421
break
14211422
else:
14221423
viml_add(node.rlist, key)
1423-
if node.op == "" or not viml_eqregh(node.op, "^[^a-z]\\S\\+$"):
1424+
if node.op == "":
14241425
raise VimLParserException(Err("E172: Missing marker", self.reader.getpos()))
14251426
self.parse_trail()
14261427
while TRUE:

0 commit comments

Comments
 (0)