Skip to content

Commit 8dba456

Browse files
authored
Merge pull request #757 from russtoku/fix-issue-756
Fix for issue #756.
2 parents 4036396 + 8e4d20e commit 8dba456

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

fnl/conjure/tree-sitter-completions.fnl

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
(local {: autoload : define} (require :conjure.nfnl.module))
22
(local a (autoload :conjure.nfnl.core))
3-
(local log (autoload :conjure.log))
43
(local ts (autoload :conjure.tree-sitter))
54
(local util (autoload :conjure.util))
65
(local res (autoload :conjure.resources))
@@ -70,7 +69,7 @@
7069

7170
(fn is-in-scope [target scope]
7271
(or (= nil scope) ; nil implies global scope
73-
(scope:equal target)
72+
(scope:equal target)
7473
(vim.treesitter.is_ancestor scope target)))
7574

7675
(fn get-node-text [node buffer meta]
@@ -81,12 +80,16 @@
8180
base-text)))
8281

8382
(fn get-completions-for-query [query]
83+
;; To avoid getting an invalid node when calling M.get-completions-at-cursor, ensure
84+
;; that the buffer is parsed.
85+
;; See the note for `:he treesitter.get_node` and `:he languagetree`.
86+
(ts.parse!)
8487
(let [buffer (vim.api.nvim_get_current_buf)
85-
cursor-node (vim.treesitter.get_node)
88+
cursor-node (vim.treesitter.get_node)
8689
(row _) (unpack (vim.api.nvim_win_get_cursor 0))
8790
scope-captures (query:iter_captures (cursor-node:root) buffer 0 row)
8891
scopes (extract-scopes query scope-captures)
89-
captures (query:iter_captures (cursor-node:root) buffer 0 row)
92+
captures (query:iter_captures (cursor-node:root) buffer 0 row)
9093
results []]
9194

9295
(each [id n meta captures]
@@ -112,7 +115,7 @@
112115
Arguments:
113116
- ts-lang: tree-sitter grammar language
114117
- cmpl-resource: query file resource path (queries/<cmpl-resource>/cmpl.scm)
115-
118+
116119
Returns:
117120
- deduplicated array of strings"
118121
(let [query (get-completion-query ts-lang cmpl-resource)]
@@ -124,8 +127,8 @@
124127
"Return function which filters words starting with prefix"
125128
(let [sanitized-prefix (string.gsub (or prefix "") "%%" "%%%%")
126129
prefix-pattern (.. "^" sanitized-prefix)
127-
prefix-filter (fn [s] (string.match s prefix-pattern))]
128-
(fn [list]
130+
prefix-filter (fn [s] (string.match s prefix-pattern))]
131+
(fn [list]
129132
(a.filter prefix-filter list))))
130133

131134
M

lua/conjure/tree-sitter-completions.lua

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)