Skip to content

Commit

Permalink
better completion candidates selection of module prefix
Browse files Browse the repository at this point in the history
  • Loading branch information
tonini committed Jun 29, 2015
1 parent ccd5d50 commit 5357085
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 5 deletions.
7 changes: 6 additions & 1 deletion alchemist-complete.el
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,12 @@
(replace-regexp-in-string "/[0-9]$" "" candidate)) 'meta meta))
(t (propertize (replace-regexp-in-string "/[0-9]$" "" candidate) 'meta meta)))))
candidates)))
candidates))
(cond
((and (string-match-p "\\.$" search-term)
(not (string-match-p "\\.$" alchemist-server--last-completion-exp))
)
(push (replace-regexp-in-string "\\.$" "" search-term) candidates))
(t candidates))))

(defun alchemist-complete--build-help-candidates (a-list)
(let* ((search-term (car a-list))
Expand Down
16 changes: 12 additions & 4 deletions test/alchemist-complete-test.el
Original file line number Diff line number Diff line change
Expand Up @@ -34,25 +34,33 @@ cmp:to_string/1")

(ert-deftest test-complete-candidates/build-candidates ()
"Build a candidates list"
(setq alchemist-server--last-completion-exp "Lis")
(should (equal (alchemist-complete--build-candidates '("List." "delete/2" "to_string/1"))
'("List.delete" "List.to_string")))
'("List" "List.delete" "List.to_string")))
(setq alchemist-server--last-completion-exp "Li")
(should (equal (alchemist-complete--build-candidates '("List." "delete/2" "delete/3" "to_string/1"))
'("List.delete" "List.delete" "List.to_string")))
'("List" "List.delete" "List.delete" "List.to_string")))
(setq alchemist-server--last-completion-exp "En")
(should (equal (alchemist-complete--build-candidates '("Enum" "Enum" "Enumerable"))
'("Enum" "Enumerable")))
(setq alchemist-server--last-completion-exp "Li")
(should (equal (alchemist-complete--build-candidates '("List" "List"))
'("List")))
(setq alchemist-server--last-completion-exp "def")
(should (equal (alchemist-complete--build-candidates '("def" "def/2" "defdelegate/2" "defexception/1"))
'("def" "defdelegate" "defexception")))
(setq alchemist-server--last-completion-exp "List.")
(should (equal (alchemist-complete--build-candidates '("List.delete" "delete/2" "delete_at/2"))
'("List.delete" "List.delete_at")))
(setq alchemist-server--last-completion-exp ":file")
(should (equal (alchemist-complete--build-candidates '(":file" "filename" "file_server" "file_io_server"))
'(":filename" ":file_server" ":file_io_server")))
(setq alchemist-server--last-completion-exp ":file.")
(should (equal (alchemist-complete--build-candidates '(":file." "pid2name/1" "set_cwd/1" "rename/2"))
'(":file.pid2name" ":file.set_cwd" ":file.rename")))
(setq alchemist-server--last-completion-exp "pid2name")
(should (equal (alchemist-complete--build-candidates '("pid2name/1"))
'("pid2name")))
)
'("pid2name"))))

(ert-deftest test-complete-candidates/build-help-candidates ()
"Build a candidates list"
Expand Down

0 comments on commit 5357085

Please sign in to comment.