Skip to content

Commit 7238085

Browse files
committed
Bugfix: markdown wrong node position; Speedup: hf_checker_test
1 parent ae0dd67 commit 7238085

File tree

3 files changed

+33
-3
lines changed

3 files changed

+33
-3
lines changed

tests/analysers/hf_checker_test.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
def analyser():
99
return HFCheckerAnalyser(
1010
None,
11-
{HFCheckerAnalyser.CONFIGURATION_MIN_LENGTH: 40},
11+
{
12+
HFCheckerAnalyser.CONFIGURATION_MIN_LENGTH: 40,
13+
HFCheckerAnalyser.CONFIGURATION_MODEL: 'pszemraj/grammar-synthesis-small',
14+
},
1215
'hf_checker',
1316
)
1417

tests/documents/markdown_test.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,30 @@ def test_clean(src, clean):
7676
)
7777

7878
assert doc.cleaned_source == clean
79+
80+
81+
@pytest.mark.parametrize('src,offset,exp', [
82+
(
83+
'This is a sentence.\n',
84+
# (offset, length)
85+
(0, 4),
86+
'This',
87+
),
88+
])
89+
def test_highlight(src, offset, exp):
90+
doc = MarkDownDocument(
91+
'tmp.md',
92+
src,
93+
)
94+
95+
pos_range = doc.range_at_offset(offset[0], offset[1], True)
96+
97+
lines = src.splitlines(True)
98+
if pos_range.start.line == pos_range.end.line:
99+
res = lines[pos_range.start.line][pos_range.start.character:pos_range.end.character+1]
100+
else:
101+
res = lines[pos_range.start.line][pos_range.start.character:]
102+
res += ''.join([lines[idx] for idx in range(pos_range.start.line+1, pos_range.end.line)])
103+
res += lines[pos_range.end.line][:pos_range.end.character+1]
104+
105+
assert res == exp

textLSP/documents/markdown/markdown.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def _handle_text_nodes(self, inline_node) -> Generator[TextNode, None, None]:
140140
),
141141
end_point=(
142142
inline_node.start_point[0],
143-
inline_node.start_point[1]+line_offset+1
143+
inline_node.start_point[1]+line_offset
144144
),
145145
)
146146
line_offset += 1
@@ -154,7 +154,7 @@ def _handle_text_nodes(self, inline_node) -> Generator[TextNode, None, None]:
154154
),
155155
end_point=(
156156
inline_node.start_point[0],
157-
inline_node.start_point[1]+line_offset+token_len
157+
inline_node.start_point[1]+line_offset+token_len-1
158158
),
159159
)
160160
yield node

0 commit comments

Comments
 (0)