Cleanup cfengine3-mode so complete-symbol works again.
* progmodes/cfengine.el (cfengine3--current-word): Remove. (cfengine3--current-function): Bring in the current-function functionality from `cfengine3--current-word'. (cfengine3-completion-function): Bring in the bounds-of-current-word functionality from `cfengine3--current-word'.
This commit is contained in:
parent
82cf20e452
commit
5b9b750ae0
2 changed files with 20 additions and 14 deletions
|
@ -1,3 +1,12 @@
|
|||
2013-12-16 Teodor Zlatanov <tzz@lifelogs.com>
|
||||
|
||||
* progmodes/cfengine.el (cfengine3--current-word): Remove.
|
||||
(cfengine3--current-function): Bring in the current-function
|
||||
functionality from `cfengine3--current-word'.
|
||||
(cfengine3-completion-function): Bring in the
|
||||
bounds-of-current-word functionality from
|
||||
`cfengine3--current-word'.
|
||||
|
||||
2013-12-16 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* window.el (display-buffer-below-selected): Bind
|
||||
|
|
|
@ -1165,24 +1165,18 @@ Intended as the value of `indent-line-function'."
|
|||
;; CLASS: [.|&!()a-zA-Z0-9_\200-\377]+::
|
||||
;; CATEGORY: [a-zA-Z_]+:
|
||||
|
||||
(defun cfengine3--current-word (&optional bounds)
|
||||
"Propose a word around point in the current CFEngine 3 buffer."
|
||||
(save-excursion
|
||||
(skip-syntax-forward "w_")
|
||||
(when (search-backward-regexp
|
||||
cfengine-mode-syntax-functions-regex
|
||||
(point-at-bol)
|
||||
t)
|
||||
(if bounds
|
||||
(list (point) (match-end 1))
|
||||
(match-string 1)))))
|
||||
|
||||
(defun cfengine3--current-function ()
|
||||
"Look up current CFEngine 3 function"
|
||||
(let* ((syntax (cfengine3-make-syntax-cache))
|
||||
(flist (assq 'functions syntax)))
|
||||
(when flist
|
||||
(let ((w (cfengine3--current-word)))
|
||||
(let ((w (save-excursion
|
||||
(skip-syntax-forward "w_")
|
||||
(when (search-backward-regexp
|
||||
cfengine-mode-syntax-functions-regex
|
||||
(point-at-bol)
|
||||
t)
|
||||
(match-string 1)))))
|
||||
(and w (assq (intern w) flist))))))
|
||||
|
||||
;; format from "cf-promises -s json", e.g. "sort" function:
|
||||
|
@ -1271,7 +1265,10 @@ see. Use it by executing `turn-on-eldoc-mode'."
|
|||
(defun cfengine3-completion-function ()
|
||||
"Return completions for function name around or before point."
|
||||
(cfengine3-make-syntax-cache)
|
||||
(let* ((bounds (cfengine3--current-word t))
|
||||
(let* ((bounds (save-excursion
|
||||
(let ((p (point)))
|
||||
(skip-syntax-backward "w_" (point-at-bol))
|
||||
(list (point) p))))
|
||||
(syntax (cfengine3-make-syntax-cache))
|
||||
(flist (assq 'functions syntax)))
|
||||
(when bounds
|
||||
|
|
Loading…
Add table
Reference in a new issue