Emanuel Gestosa
|
799e82d501
|
matchers for cursor line anc column tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
a2370bff68
|
parsing cursor column tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c72f3bcd12
|
parsing cursor line tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
295964a74d
|
mocking VimEditor.offsetToBuffer position and fixing visitors
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
d77cda0fae
|
visitors for line and column tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
6da072d47d
|
matchers for line and column tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
471a5a1b3e
|
tests for line and column tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cd5da2d237
|
parsing column related tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
62f67cd626
|
parsing line related tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
70db96d9e5
|
allow larger decimal codes inside collections
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
98470111fb
|
fixing octal codes larger than 0o377
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
557a3bb01f
|
fixing mixing % in match character by code tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
dee70acdcb
|
tests for match character by code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
862b16879c
|
visitors for character codes
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ed7249558e
|
parsing match character by code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4f6c6f4d10
|
fixing rebase problems
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
650d02d9b3
|
using TextRange instead of IntRange
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e4041a2f69
|
adding comments
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4c284a6d13
|
visitor for negative limited lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e14fc801bd
|
fix lookbehinds matches not ending where they were supposed to
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
0478d468e0
|
adding tests for limited lookbehinds
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4ac98710fb
|
implement limit lookbehinds
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f256f6417e
|
parsing limited lookbehinds
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ca94d55b62
|
implementing negative lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c11c061113
|
add tests for negative lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c15c3eb802
|
implementing positive lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
0ce102b782
|
visitor for positive lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cc48207a99
|
adding tests for positive lookbehind
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
353ea5fc5d
|
reworking nfa to ignore input until first match
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
64138310cc
|
add more complex \& tests
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
1c4538af72
|
implementing \& operator
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
755b47ef19
|
adding nfa tests for \& operator
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c78a5d3cab
|
allow for a state to have multiple assertitions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
b9b8d30f3b
|
fixing collections with only char class expressions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
9be93212c3
|
fname class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
89973809af
|
keyword class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e324af356d
|
ident class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f51fc6ed47
|
return, tab, escape, backspace class visitors
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ecce98289a
|
xdigit class
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
23c14aa2e4
|
upper class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
678d04c5db
|
space class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
691ba75372
|
punct class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
d2d7bbc632
|
print class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
b3b1a6bdb9
|
lower class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
310125ea01
|
graph class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
208d1cbba2
|
digit class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e94154ba80
|
cntrl class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
582fbdd9e7
|
blank class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
dd175912f4
|
alnum class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
a6a0ae7a51
|
alpha class visitor
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
8cdac91a01
|
base code for char classes expressions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4c89f41daa
|
adding nfa tests for collection char classes expressions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
512e826a42
|
adding new parser tests for collection char classes
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
bc0d277a21
|
parsing collection char class expressions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
169fe5fc5b
|
parse visual \%V token
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
30867702a4
|
parsing lookbehind tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
6131f92ae6
|
parsing ~ token
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
823a52583c
|
documenting regex code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e2c6c0539f
|
add more lookahead tests
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f7f1c0e90d
|
making nested lookahead tests pass
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
eca12607dd
|
pattern visitor is now a singleton
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
006e3e11f9
|
parser class is now a singleton
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
a9982cbdca
|
refactoring temporary field out of parser class
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
0fa9c5a2a2
|
moving all parsing logic to VimRegexParser class
rebasing
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cdcc9729d3
|
add more failing lookahead tests
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4acf651aa7
|
adding tests for nested lookahead tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4bba791c65
|
adding comments and small cleanups
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
662688d3b9
|
refactoring inappropriate intimacy between nfa and nfaassertion classes
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
21a3e8fdc4
|
extract methods refactor in nfa simulation code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
3815a1d538
|
add more lookahead tests
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cbe0c5cfec
|
implementing negative lookahead
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
15db9b30e1
|
add tests for negative lookahead
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
e891294c0f
|
parsing negative lookahead
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f6b9e7cc26
|
implementing positive lookahead
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
052fd7162f
|
parsing positive lookahead
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
189acb73f5
|
dealing with atomic groups in a different way
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ec7c1677b4
|
allow special escape characters in collections \e \t \r \b \n
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
a9474c8e67
|
allow character codes inside collections \d \o \x \u \U
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
3a70dfc5f3
|
implementing collections with EOL \_[]
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
669177d803
|
implementing and testing start and end of word tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
b1f43b061c
|
parsing start and end of word tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
7ff3c84deb
|
commenting new atomic groups code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ee642b63ce
|
adding explanatory comment on wierd atomic group test
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
17315e5096
|
implementing atomic groups
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4e9d52fc62
|
placeholder for atomic groups
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
d7e87f8fc8
|
rename MultiBoundary to RangeBoundary
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
3efe11f393
|
refactoring visitors to prepare for different types of multis
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
26c6c464d8
|
adding tests for atomic groups
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4db654e653
|
parsing atomic groups
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
048759d374
|
implement and test start and end of line anywhere in pattern
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
db2424057f
|
parsing start and end line anywhere in pattern
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
472a53e3b9
|
start and end of line anchors
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
9e15d91900
|
adding tests for empty editors
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
d5cff281c0
|
adding comments on new Matchers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
57b6c4dffb
|
collection matcher uses set instead of list
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
908a2d1d8c
|
start and end of file
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
69bdea9273
|
character classes never ignore case
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
5b21a653ee
|
add test for case insensitive matching
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cfddcf1630
|
ignore case tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f009687ddf
|
matchesAt API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
6ddfe29465
|
matches API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
715c51f673
|
matchEntire API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
b443e8f06a
|
fix quantified capture groups not updating properly
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
0bd0466c9c
|
cleaning adding transitions to states
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ad5db3c9e5
|
fix capturing groups not updating properly
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
fa3182cb5e
|
adding failing backreferences test
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
3f44bed66e
|
adding comments to Matchers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
2a70530d0f
|
matchAt API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
7c542d5fc7
|
implementing character classes with EOL
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
638dfb7777
|
parsing character classes with new line
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
1323536a63
|
testing and implementing backreferences
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
419212e2d4
|
parsing backreferences
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
5f1c234a7d
|
refactor Matcher to return number of consumed characters
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
db1e8301cd
|
implementing and testing lazy quantifiers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
bf94a3c68d
|
parsing lazy quantifiers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
96baa4ffc6
|
all named character classes
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
7d472afe61
|
set match start and end \zs \ze
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f32a4d33a7
|
support unicode escape sequence in collections
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
0722991955
|
add test for collection with not special escaped character
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
bcc740cdbc
|
implementing custom collections
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
5cf46097f7
|
ascii character classes
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
61dc189f8b
|
char classes and collections base code
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
23c2b008c9
|
implementing cursor and using mockito to mock editor
rebasing
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
db14afdf3a
|
dot with and without newline
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
b7927336d1
|
implementing dot
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ee23a3d4cd
|
commenting findAll
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
63c0112ffb
|
findAll API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
db08d7d280
|
find API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
9892525fbc
|
containsMatchIn API function
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
34b87ff6bf
|
adding comments
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
241ad68bd5
|
fix nfa looping in epsilon transitions
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
a0ec18921b
|
more correct way of handling quantifiers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
45e17eb0b2
|
fixing quantifiers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
59f0e9ae67
|
add test for updating capture group
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
af24611c73
|
capture group submatch
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
d4502dda3f
|
VimMatchResult stores matched string value
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c0efa8af5d
|
use IntRange for match range
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
1c06a3fc89
|
add test for empty group
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
c19fb38d1c
|
implementing grouping
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
5dc1de9daf
|
add nfa test for escaped character
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
6774301938
|
updating comments
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
4ef6cf0428
|
implementing quantifiers
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
ca5f8e4b44
|
skeleton for NFA testing
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
1907f03abe
|
nfa simulation uses VimEditor instead of String
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
6351a4e4f3
|
initial nfa
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
fa34c3937f
|
initial nfa definition
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cdac97ebf5
|
adding some zero-width tokens
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
fe958d28b8
|
lexer fixing what chars are taken literally
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
f71982e1d5
|
support unicode in collections
|
2024-02-05 16:29:49 +02:00 |
|
Emanuel Gestosa
|
cb2bfcea53
|
unicode chars in all lexer modes
|
2024-02-05 16:29:49 +02:00 |
|