summaryrefslogtreecommitdiffstats
path: root/fcomp.el
diff options
context:
space:
mode:
authorAnastasios Grammenos <anastasios.grammenos@noris.gr>2020-09-22 16:35:27 +0300
committerAnastasios Grammenos <anastasios.grammenos@noris.gr>2020-09-22 16:35:27 +0300
commit42ba97c086c473f8abc52108ca6ceb276525e027 (patch)
tree3a45c209fceb7bf838fd8704e0a9c72bd7e39859 /fcomp.el
parent41a0806297ad6e31c33a9d25b0138a5ae90546d8 (diff)
downloadfcomp-42ba97c086c473f8abc52108ca6ceb276525e027.tar.gz
fcomp-42ba97c086c473f8abc52108ca6ceb276525e027.tar.bz2
fcomp-42ba97c086c473f8abc52108ca6ceb276525e027.zip
company-mode backend
Diffstat (limited to 'fcomp.el')
-rw-r--r--fcomp.el18
1 files changed, 16 insertions, 2 deletions
diff --git a/fcomp.el b/fcomp.el
index 66eaf7c..40a0e5b 100644
--- a/fcomp.el
+++ b/fcomp.el
@@ -101,7 +101,7 @@
(setq fcomp--query "")
(setq fcomp--output "")))
-(defun fcomp--autocomplete (word point)
+(defun fcomp--autocomplete (word point &optional x)
"Start fcomp process and orchistrate it's output."
(let ((term (if (empty-string-p word)
(format "%s" "-au")
@@ -128,11 +128,25 @@
(process-send-string proc "\n")
(process-send-eof proc)
(if (accept-process-output proc nil nil t)
- (fcomp--handle-output)
+ (if x
+ (message "%s" "blabla")
+ (fcomp--handle-output))
(progn
(message "No completion for %s" word)
(delete-process proc)))))
+(defun fcomp-get-canditates (word)
+ ""
+ (progn
+ (let ((table (copy-syntax-table (syntax-table))))
+ (modify-syntax-entry ?- "w" table)
+ (modify-syntax-entry ?_ "w" table)
+ (when (not (empty-string-p fcomp-extra-valid-chars))
+ (mapc (lambda (char) (modify-syntax-entry char "w" table)) fcomp-extra-valid-chars))
+ (with-syntax-table table
+ (fcomp--autocomplete word (point) t)))
+ (remove "" (split-string fcomp--output "\n"))))
+
(defun fcomp-autocomplete ()
"Autocompete using fcomp.c