From 39424f5d9ff5a79b69e0bf0b5ed2b94e51a90340 Mon Sep 17 00:00:00 2001 From: Maciej Barć Date: Sat, 20 Aug 2022 15:05:16 +0200 Subject: company-ebuild-custom.el: add; enable customization of some features from company-ebuild.el MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maciej Barć --- company-ebuild.el | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'company-ebuild.el') 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'." -- cgit v1.2.3-65-gdbad