1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-05-29 01:34:10 +02:00

parsing cursor column tokens

This commit is contained in:
Emanuel Gestosa 2023-09-06 14:53:58 +01:00 committed by lippfi
parent c72f3bcd12
commit a2370bff68
2 changed files with 36 additions and 20 deletions
vim-engine/src/main/antlr

View File

@ -20,7 +20,8 @@ tokens {
POSITIVE_LIMITED_LOOKBEHIND, NEGATIVE_LIMITED_LOOKBEHIND, LAST_SUBSTITUTE, VISUAL,
DECIMAL_CODE, OCTAL_CODE, HEXADECIMAL_CODE, UNICODE_CODE, WIDE_UNICODE_CODE,
LINE, BEFORE_LINE, AFTER_LINE, COLUMN, BEFORE_COLUMN, AFTER_COLUMN, LINE_CURSOR,
BEFORE_LINE_CURSOR, AFTER_LINE_CURSOR
BEFORE_LINE_CURSOR, AFTER_LINE_CURSOR, COLUMN_CURSOR, BEFORE_COLUMN_CURSOR,
AFTER_COLUMN_CURSOR
}
@members {
@ -91,6 +92,9 @@ AFTER_LINE_CURSOR_MAGIC: '\\%>.l' -> type(AFTER_LINE_CURSOR);
COLUMN_MAGIC: '\\%' [0-9]+ 'c' -> type(COLUMN);
BEFORE_COLUMN_MAGIC: '\\%<' [0-9]+ 'c' -> type(BEFORE_COLUMN);
AFTER_COLUMN_MAGIC: '\\%>' [0-9]+ 'c' -> type(AFTER_COLUMN);
COLUMN_CURSOR_MAGIC: '\\%.c' -> type(COLUMN_CURSOR);
BEFORE_COLUMN_CURSOR_MAGIC: '\\%<.c' -> type(BEFORE_COLUMN_CURSOR);
AFTER_COLUMN_CURSOR_MAGIC: '\\%>.c' -> type(AFTER_COLUMN_CURSOR);
// case-related tokens
IGNORE_CASE_MAGIC: '\\c' { setIgnoreCase(); } -> skip;
@ -228,6 +232,9 @@ AFTER_LINE_CURSOR_NOMAGIC: '\\%>.l' -> type(AFTER_LINE_CURSOR);
COLUMN_NOMAGIC: '\\%' [0-9]+ 'c' -> type(COLUMN);
BEFORE_COLUMN_NOMAGIC: '\\%<' [0-9]+ 'c' -> type(BEFORE_COLUMN);
AFTER_COLUMN_NOMAGIC: '\\%>' [0-9]+ 'c' -> type(AFTER_COLUMN);
COLUMN_CURSOR_NOMAGIC: '\\%.c' -> type(COLUMN_CURSOR);
BEFORE_COLUMN_CURSOR_NOMAGIC: '\\%<.c' -> type(BEFORE_COLUMN_CURSOR);
AFTER_COLUMN_CURSOR_NOMAGIC: '\\%>.c' -> type(AFTER_COLUMN_CURSOR);
// case-related tokens
IGNORE_CASE_NOMAGIC: '\\c' { setIgnoreCase(); } -> skip;
@ -366,6 +373,9 @@ AFTER_LINE_CURSOR_VMAGIC: '%>.l' -> type(AFTER_LINE_CURSOR);
COLUMN_VMAGIC: '%' [0-9]+ 'c' -> type(COLUMN);
BEFORE_COLUMN_VMAGIC: '%<' [0-9]+ 'c' -> type(BEFORE_COLUMN);
AFTER_COLUMN_VMAGIC: '%>' [0-9]+ 'c' -> type(AFTER_COLUMN);
COLUMN_CURSOR_VMAGIC: '%.c' -> type(COLUMN_CURSOR);
BEFORE_COLUMN_CURSOR_VMAGIC: '%<.c' -> type(BEFORE_COLUMN_CURSOR);
AFTER_COLUMN_CURSOR_VMAGIC: '%>.c' -> type(AFTER_COLUMN_CURSOR);
// case-related tokens
IGNORE_CASE_VMAGIC: '\\c' { setIgnoreCase(); } -> skip;
@ -503,6 +513,9 @@ AFTER_LINE_CURSOR_VNOMAGIC: '\\%>.l' -> type(AFTER_LINE_CURSOR);
COLUMN_VNOMAGIC: '\\%' [0-9]+ 'c' -> type(COLUMN);
BEFORE_COLUMN_VNOMAGIC: '\\%<' [0-9]+ 'c' -> type(BEFORE_COLUMN);
AFTER_COLUMN_VNOMAGIC: '\\%>' [0-9]+ 'c' -> type(AFTER_COLUMN);
COLUMN_CURSOR_VNOMAGIC: '\\%.c' -> type(COLUMN_CURSOR);
BEFORE_COLUMN_CURSOR_VNOMAGIC: '\\%<.c' -> type(BEFORE_COLUMN_CURSOR);
AFTER_COLUMN_CURSOR_VNOMAGIC: '\\%>.c' -> type(AFTER_COLUMN_CURSOR);
// case-related tokens
IGNORE_CASE_VNOMAGIC: '\\c' { setIgnoreCase(); } -> skip;

View File

@ -178,25 +178,28 @@ collection_char_class_expression : ALPHA_CLASS #AlphaClass
* When using zero-width tokens, no characters are
* included in the match.
*/
zero_width : CURSOR #Cursor
| VISUAL #Visual
| START_MATCH #StartMatch
| END_MATCH #EndMatch
| START_OF_FILE #StartOfFile
| END_OF_FILE #EndOfFile
| START_OF_LINE #StartOfLine
| END_OF_LINE #EndOfLine
| START_OF_WORD #StartOfWord
| END_OF_WORD #EndOfWord
| LINE #Line
| BEFORE_LINE #BeforeLine
| AFTER_LINE #AfterLine
| LINE_CURSOR #LineCursor
| BEFORE_LINE_CURSOR #BeforeLineCursor
| AFTER_LINE_CURSOR #AfterLineCursor
| COLUMN #Column
| BEFORE_COLUMN #BeforeColumn
| AFTER_COLUMN #AfterColumn
zero_width : CURSOR #Cursor
| VISUAL #Visual
| START_MATCH #StartMatch
| END_MATCH #EndMatch
| START_OF_FILE #StartOfFile
| END_OF_FILE #EndOfFile
| START_OF_LINE #StartOfLine
| END_OF_LINE #EndOfLine
| START_OF_WORD #StartOfWord
| END_OF_WORD #EndOfWord
| LINE #Line
| BEFORE_LINE #BeforeLine
| AFTER_LINE #AfterLine
| LINE_CURSOR #LineCursor
| BEFORE_LINE_CURSOR #BeforeLineCursor
| AFTER_LINE_CURSOR #AfterLineCursor
| COLUMN #Column
| BEFORE_COLUMN #BeforeColumn
| AFTER_COLUMN #AfterColumn
| COLUMN_CURSOR #ColumnCursor
| BEFORE_COLUMN_CURSOR #BeforeColumnCursor
| AFTER_COLUMN_CURSOR #AfterColumnCursor
;
/**