Skip to content

Commit de98aba

Browse files
committed
fix some issues and typos
1 parent d528914 commit de98aba

File tree

4 files changed

+51
-53
lines changed

4 files changed

+51
-53
lines changed

lib/next_ls/helpers/ast_helpers.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ defmodule NextLS.ASTHelpers do
221221
{ast, acc}
222222
end
223223

224-
# search symbols in a left side of forward arrow clause adn increase scope
224+
# search symbols in a left side of forward arrow clause and increase scope
225225
defp prewalk({:->, meta, [left, _right]} = ast, acc) do
226226
acc = increase_scope_nesting(acc, meta[:line])
227227
acc = find_symbols(left, acc)
@@ -315,7 +315,7 @@ defmodule NextLS.ASTHelpers do
315315
defp calculate_range(name, line, column) do
316316
length = name |> to_string() |> String.length()
317317

318-
{line..line, column..(column + length)}
318+
{line..line, column..(column + length - 1)}
319319
end
320320

321321
defp position_in_range?({position_line, position_column}, {range_lines, range_columns}) do

test/next_ls/definition_test.exs

+1-1
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ defmodule NextLS.DefinitionTest do
680680
},
681681
"end" => %{
682682
"line" => 5,
683-
"character" => 13
683+
"character" => 12
684684
}
685685
},
686686
"uri" => ^uri

test/next_ls/helpers/ast_helpers_variables_test.exs

+46-48
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ defmodule NextLS.ASTHelpersVariablesTest do
149149
describe("get_variable_definition/2") do
150150
test "symbol defined in a match is found", %{source: source} do
151151
symbol = Variables.get_variable_definition(source, {7, 25})
152-
assert symbol == {:charlie, {5..5, 5..12}}
152+
assert symbol == {:charlie, {5..5, 5..11}}
153153
end
154154

155155
test "returns nil when position is not a variable reference", %{source: source} do
@@ -167,172 +167,170 @@ defmodule NextLS.ASTHelpersVariablesTest do
167167
test "references that defined by same symbol as target reference", %{source: source} do
168168
refs = Variables.list_variable_references(source, {6, 17})
169169
assert length(refs) == 2
170-
assert exists_in?(refs, {:charlie, {6..6, 17..24}})
171-
assert exists_in?(refs, {:charlie, {7..7, 25..32}})
170+
assert {:charlie, {6..6, 17..23}} in refs
171+
assert {:charlie, {7..7, 25..31}} in refs
172172
end
173173

174174
test "symbol set in a match and corrctly processing ^", %{source: source} do
175175
refs = Variables.list_variable_references(source, {5, 5})
176176
assert length(refs) == 2
177-
assert exists_in?(refs, {:charlie, {6..6, 17..24}})
178-
assert exists_in?(refs, {:charlie, {7..7, 25..32}})
177+
assert {:charlie, {6..6, 17..23}} in refs
178+
assert {:charlie, {7..7, 25..31}} in refs
179179
end
180180

181181
test "symbol set in a function arguments", %{source: source} do
182182
refs = Variables.list_variable_references(source, {4, 30})
183183
assert length(refs) == 2
184-
assert exists_in?(refs, {:alpha, {6..6, 42..47}})
185-
assert exists_in?(refs, {:alpha, {7..7, 11..16}})
184+
assert {:alpha, {6..6, 42..46}} in refs
185+
assert {:alpha, {7..7, 11..15}} in refs
186186
end
187187

188188
test "symbol set in a function arguments and referenced in 'when' clause", %{source: source} do
189189
refs = Variables.list_variable_references(source, {4, 21})
190190
assert length(refs) == 2
191-
assert exists_in?(refs, {:bravo, {4..4, 49..54}})
192-
assert exists_in?(refs, {:bravo, {7..7, 18..23}})
191+
assert {:bravo, {4..4, 49..53}} in refs
192+
assert {:bravo, {7..7, 18..22}} in refs
193193
end
194194

195195
test "symbol set in a mattern match", %{source: source} do
196196
refs = Variables.list_variable_references(source, {6, 33})
197197
assert length(refs) == 1
198-
assert exists_in?(refs, {:delta, {7..7, 34..39}})
198+
assert {:delta, {7..7, 34..38}} in refs
199199
end
200200

201201
test "references shadowed by 'if/else' blocks", %{source: source} do
202202
refs = Variables.list_variable_references(source, {11, 5})
203203
assert length(refs) == 2
204-
assert exists_in?(refs, {:alpha, {14..14, 10..15}})
205-
assert exists_in?(refs, {:alpha, {24..24, 11..16}})
204+
assert {:alpha, {14..14, 10..14}} in refs
205+
assert {:alpha, {24..24, 11..15}} in refs
206206
end
207207

208208
test "symbol set in 'if' block", %{source: source} do
209209
refs = Variables.list_variable_references(source, {15, 9})
210210
assert length(refs) == 1
211-
assert exists_in?(refs, {:alpha, {17..17, 20..25}})
211+
assert {:alpha, {17..17, 20..24}} in refs
212212
end
213213

214214
test "symbol set in match with 'if' containing it's shadow", %{source: source} do
215215
refs = Variables.list_variable_references(source, {13, 5})
216216
assert length(refs) == 1
217-
assert exists_in?(refs, {:bravo, {24..24, 18..23}})
217+
assert {:bravo, {24..24, 18..22}} in refs
218218
end
219219

220220
test "symbol set in 'case' clause", %{source: source} do
221221
refs = Variables.list_variable_references(source, {33, 13})
222222
assert length(refs) == 2
223-
assert exists_in?(refs, {:bravo, {33..33, 32..37}})
224-
assert exists_in?(refs, {:bravo, {34..34, 19..24}})
223+
assert {:bravo, {33..33, 32..36}} in refs
224+
assert {:bravo, {34..34, 19..23}} in refs
225225
end
226226

227227
test "symbol referenced in 'cond' clause", %{source: source} do
228228
refs = Variables.list_variable_references(source, {46, 5})
229229
assert length(refs) == 2
230-
assert exists_in?(refs, {:alpha, {51..51, 9..14}})
231-
assert exists_in?(refs, {:alpha, {58..58, 16..21}})
230+
assert {:alpha, {51..51, 9..13}} in refs
231+
assert {:alpha, {58..58, 16..20}} in refs
232232
end
233233

234234
test "symbol shadowed in 'for' and 'with'", %{source: source} do
235235
refs = Variables.list_variable_references(source, {62, 12})
236236
assert length(refs) == 4
237-
assert exists_in?(refs, {:alpha, {65..65, 18..23}})
238-
assert exists_in?(refs, {:alpha, {69..69, 18..23}})
239-
assert exists_in?(refs, {:alpha, {73..73, 26..31}})
240-
assert exists_in?(refs, {:alpha, {81..81, 18..23}})
237+
assert {:alpha, {65..65, 18..22}} in refs
238+
assert {:alpha, {69..69, 18..22}} in refs
239+
assert {:alpha, {73..73, 26..30}} in refs
240+
assert {:alpha, {81..81, 18..22}} in refs
241241

242242
refs2 = Variables.list_variable_references(source, {63, 5})
243243
assert length(refs2) == 1
244-
assert exists_in?(refs2, {:bravo, {81..81, 11..16}})
244+
assert {:bravo, {81..81, 11..15}} in refs2
245245
end
246246

247247
test "symbol defined in 'for'", %{source: source} do
248248
refs = Variables.list_variable_references(source, {65, 9})
249249
assert length(refs) == 1
250-
assert exists_in?(refs, {:alpha, {66..66, 18..23}})
250+
assert {:alpha, {66..66, 18..22}} in refs
251251

252252
refs2 = Variables.list_variable_references(source, {69, 9})
253253
assert length(refs2) == 1
254-
assert exists_in?(refs2, {:bravo, {69..69, 47..52}})
254+
assert {:bravo, {69..69, 47..51}} in refs2
255255

256256
refs3 = Variables.list_variable_references(source, {69, 25})
257257
assert length(refs3) == 2
258-
assert exists_in?(refs3, {:charlie, {69..69, 55..62}})
259-
assert exists_in?(refs3, {:charlie, {70..70, 18..25}})
258+
assert {:charlie, {69..69, 55..61}} in refs3
259+
assert {:charlie, {70..70, 18..24}} in refs3
260260
end
261261

262262
test "symbol defined in 'with'", %{source: source} do
263263
refs = Variables.list_variable_references(source, {73, 16})
264264
assert length(refs) == 1
265-
assert exists_in?(refs, {:delta, {74..74, 27..32}})
265+
assert {:delta, {74..74, 27..31}} in refs
266266

267267
refs2 = Variables.list_variable_references(source, {74, 11})
268268
assert length(refs2) == 1
269-
assert exists_in?(refs2, {:delta, {75..75, 18..23}})
269+
assert {:delta, {75..75, 18..22}} in refs2
270270

271271
refs3 = Variables.list_variable_references(source, {78, 7})
272272
assert length(refs3) == 1
273-
assert exists_in?(refs3, {:error, {78..78, 25..30}})
273+
assert {:error, {78..78, 25..29}} in refs3
274274
end
275275

276-
test "symbol shadowed by anonymus funciton", %{source: source} do
276+
test "symbol shadowed by anonymous funciton", %{source: source} do
277277
refs = Variables.list_variable_references(source, {84, 12})
278278
assert length(refs) == 2
279-
assert exists_in?(refs, {:alpha, {96..96, 7..12}})
280-
assert exists_in?(refs, {:alpha, {100..100, 21..26}})
279+
assert {:alpha, {96..96, 7..11}} in refs
280+
assert {:alpha, {100..100, 21..25}} in refs
281281
end
282282

283-
test "symbol defined in anonymus funciton", %{source: source} do
283+
test "symbol defined in anonymous funciton", %{source: source} do
284284
refs = Variables.list_variable_references(source, {86, 7})
285285
assert length(refs) == 1
286-
assert exists_in?(refs, {:charlie, {88..88, 15..22}})
286+
assert {:charlie, {88..88, 15..21}} in refs
287287

288288
refs2 = Variables.list_variable_references(source, {86, 22})
289289
assert length(refs2) == 1
290-
assert exists_in?(refs2, {:delta, {88..88, 24..29}})
290+
assert {:delta, {88..88, 24..28}} in refs2
291291

292292
refs3 = Variables.list_variable_references(source, {86, 31})
293293
assert length(refs3) == 1
294-
assert exists_in?(refs3, {:alpha, {87..87, 20..25}})
294+
assert {:alpha, {87..87, 20..24}} in refs3
295295

296296
refs4 = Variables.list_variable_references(source, {97, 22})
297297
assert length(refs4) == 1
298-
assert exists_in?(refs4, {:alpha, {97..97, 37..42}})
298+
assert {:alpha, {97..97, 37..41}} in refs4
299299

300300
refs5 = Variables.list_variable_references(source, {98, 25})
301301
assert length(refs5) == 1
302-
assert exists_in?(refs5, {:alpha, {98..98, 51..56}})
302+
assert {:alpha, {98..98, 51..55}} in refs5
303303
end
304304

305305
test "symbols with 'receive' macro", %{source: source} do
306306
refs = Variables.list_variable_references(source, {103, 12})
307307
assert length(refs) == 2
308-
assert exists_in?(refs, {:alpha, {110..110, 10..15}})
309-
assert exists_in?(refs, {:alpha, {113..113, 17..22}})
308+
assert {:alpha, {110..110, 10..14}} in refs
309+
assert {:alpha, {113..113, 17..21}} in refs
310310

311311
refs2 = Variables.list_variable_references(source, {105, 19})
312312
assert length(refs2) == 1
313-
assert exists_in?(refs2, {:bravo, {107..107, 17..22}})
313+
assert {:bravo, {107..107, 17..21}} in refs2
314314
end
315315

316316
test "symbols set with 'destructure'", %{source: source} do
317317
refs = Variables.list_variable_references(source, {117, 18})
318318
assert length(refs) == 1
319-
assert exists_in?(refs, {:alpha, {118..118, 16..21}})
319+
assert {:alpha, {118..118, 16..20}} in refs
320320
end
321321

322322
test "symbols set in macro", %{source: source} do
323323
refs = Variables.list_variable_references(source, {121, 37})
324324
assert length(refs) == 1
325-
assert exists_in?(refs, {:variables, {122..122, 14..23}})
325+
assert {:variables, {122..122, 14..22}} in refs
326326

327327
refs2 = Variables.list_variable_references(source, {124, 7})
328328
assert length(refs2) == 1
329-
assert exists_in?(refs2, {:length, {127..127, 32..38}})
329+
assert {:length, {127..127, 32..37}} in refs2
330330

331331
refs3 = Variables.list_variable_references(source, {123, 7})
332332
assert length(refs3) == 1
333-
assert exists_in?(refs3, {:var, {127..127, 17..20}})
333+
assert {:var, {127..127, 17..19}} in refs3
334334
end
335335
end
336-
337-
defp exists_in?(results, var), do: Enum.find(results, &(&1 == var))
338336
end

test/next_ls/references_test.exs

+2-2
Original file line numberDiff line numberDiff line change
@@ -199,14 +199,14 @@ defmodule NextLS.ReferencesTest do
199199
"uri" => uri,
200200
"range" => %{
201201
"start" => %{"line" => 17, "character" => 14},
202-
"end" => %{"line" => 17, "character" => 19}
202+
"end" => %{"line" => 17, "character" => 18}
203203
}
204204
},
205205
%{
206206
"uri" => uri,
207207
"range" => %{
208208
"start" => %{"line" => 18, "character" => 12},
209-
"end" => %{"line" => 18, "character" => 17}
209+
"end" => %{"line" => 18, "character" => 16}
210210
}
211211
}
212212
]

0 commit comments

Comments
 (0)