diff options
Diffstat (limited to 'company-ebuild.el')
-rw-r--r-- | company-ebuild.el | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/company-ebuild.el b/company-ebuild.el index d01160f..30f564a 100644 --- a/company-ebuild.el +++ b/company-ebuild.el @@ -44,6 +44,7 @@ (require 'company) (require 'ebuild-mode) +(require 'company-ebuild-custom) (require 'company-ebuild-keywords) @@ -94,25 +95,23 @@ "Return a list of all available packages. Uses the \"qsearch\" tool to get the packages." - (let ((qsearch - (executable-find "qsearch")) - (qsearch-formats + (let ((qsearch-formats '("%{CATEGORY}/%{PN}" "%{CATEGORY}/%{PN}-%{PV}" "%{CATEGORY}/%{PN}-%{PV}:%{SLOT}" "%{CATEGORY}/%{PN}-%{PV}:%{SLOT}::%{REPO}"))) (cond - (qsearch + (company-ebuild-qsearch-executable (mapcan (lambda (qsearch-format) (let ((qlist-result (shell-command-to-string (format "%s --all --format \"%s\" --name-only --nocolor" - qsearch + company-ebuild-qsearch-executable qsearch-format)))) (split-string qlist-result "\n" t))) qsearch-formats)) (t - nil)))) + '())))) (defun company-ebuild--get-tags (file-path tag-name) "Return all tags with TAG-NAME from file at FILE-PATH. @@ -205,10 +204,14 @@ REPO-ROOT is the location from which we start searching for Eclass files." (defun company-ebuild--regenerate-dynamic-keywords () "Regenerate dynamic keywords." - (company-ebuild--regenerate-dynamic-keywords-eclass) - (company-ebuild--regenerate-dynamic-keywords-use-flags) - (company-ebuild--regenerate-dynamic-keywords-packages) - (company-ebuild--regenerate-dynamic-keywords-licenses)) + (when company-ebuild--regenerate-dynamic-keywords-eclass + (company-ebuild--regenerate-dynamic-keywords-eclass)) + (when company-ebuild--regenerate-dynamic-keywords-use-flags + (company-ebuild--regenerate-dynamic-keywords-use-flags)) + (when company-ebuild--regenerate-dynamic-keywords-use-flags + (company-ebuild--regenerate-dynamic-keywords-packages)) + (when company-ebuild--regenerate-dynamic-keywords-licenses + (company-ebuild--regenerate-dynamic-keywords-licenses))) (defun company-ebuild--grab-symbol () "Workaround wrapper for `company-grab-symbol'." |