update packages
@@ -4,8 +4,8 @@
|
||||
|
||||
;; Author: Clément Pit-Claudel <clement.pitclaudel@live.com>
|
||||
;; Version: 0.2.1
|
||||
;; Package-Version: 20200416.307
|
||||
;; Package-Commit: eb9baf1d2bf6a073d24ccb717025baa693e98f3e
|
||||
;; Package-Version: 20210418.406
|
||||
;; Package-Commit: 517ec18f00f91b61481214b178f7ae0b8fbc499b
|
||||
;; Package-Requires: ((emacs "24.3") (let-alist "1.0.4") (seq "1.11") (dash "2.12.1"))
|
||||
;; Keywords: bib, tex, convenience, hypermedia
|
||||
;; URL: https://github.com/cpitclaudel/biblio.el
|
||||
@@ -294,7 +294,7 @@ non-sparse keymaps."
|
||||
"Return a list of bindings in V, prefixed by K."
|
||||
(biblio--flatten-map v (biblio--as-list k)))
|
||||
keymap)))))
|
||||
;; This breaks if keymap is a symbol whose function cell is a keymap
|
||||
;; FIXME This breaks if keymap is a symbol whose function cell is a keymap
|
||||
((symbolp keymap)
|
||||
(list (cons prefix keymap))))))
|
||||
|
||||
@@ -329,12 +329,14 @@ That is, if two key map to `eq' values, they are grouped."
|
||||
|
||||
(defun biblio--help-with-major-mode-1 (keyseqs-command)
|
||||
"Print help on KEYSEQS-COMMAND to standard output."
|
||||
;; (biblio-with-fontification 'font-lock-function-name-face
|
||||
(insert (format "%s (%S)\n"
|
||||
(biblio--quote-keys (car keyseqs-command))
|
||||
(cdr keyseqs-command)))
|
||||
(biblio-with-fontification 'font-lock-doc-face
|
||||
(insert (format " %s\n\n" (biblio--brief-docs (cdr keyseqs-command))))))
|
||||
(insert (biblio--quote-keys (car keyseqs-command)) " ")
|
||||
(insert (propertize "\t" 'display '(space :align-to 10)))
|
||||
(insert-text-button (format "%S" (cdr keyseqs-command)))
|
||||
(insert "\n")
|
||||
(biblio-with-fontification '(font-lock-comment-face (:height 0.95))
|
||||
(insert (format " %s\n" (biblio--brief-docs (cdr keyseqs-command)))))
|
||||
(biblio-with-fontification '(:height 0.3)
|
||||
(insert "\n")))
|
||||
|
||||
(defun biblio--help-with-major-mode ()
|
||||
"Display help with current major mode."
|
||||
@@ -530,8 +532,10 @@ Interactively, query for ACTION from
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map (kbd "<up>") #'biblio--selection-previous)
|
||||
(define-key map (kbd "C-p") #'biblio--selection-previous)
|
||||
(define-key map (kbd "p") #'biblio--selection-previous)
|
||||
(define-key map (kbd "<down>") #'biblio--selection-next)
|
||||
(define-key map (kbd "C-n") #'biblio--selection-next)
|
||||
(define-key map (kbd "n") #'biblio--selection-next)
|
||||
(define-key map (kbd "RET") #'biblio--selection-browse)
|
||||
(define-key map (kbd "<C-return>") #'biblio--selection-browse-direct)
|
||||
(define-key map (kbd "C-RET") #'biblio--selection-browse-direct)
|
||||
@@ -560,10 +564,16 @@ Interactively, query for ACTION from
|
||||
(buffer-name biblio--target-buffer))
|
||||
"")))
|
||||
|
||||
(defface biblio-highlight-extend-face `((t (:inherit highlight
|
||||
,@(and (>= emacs-major-version 27) '(:extend t)))))
|
||||
"Face used for highlighting lines."
|
||||
:group 'biblio-faces)
|
||||
|
||||
(define-derived-mode biblio-selection-mode fundamental-mode biblio--selection-mode-name-base
|
||||
"Browse bibliographic search results.
|
||||
\\{biblio-selection-mode-map}"
|
||||
(hl-line-mode)
|
||||
(setq-local hl-line-face 'biblio-highlight-extend-face)
|
||||
(hl-line-mode 1)
|
||||
(visual-line-mode)
|
||||
(setq-local truncate-lines nil)
|
||||
(setq-local cursor-type nil)
|
||||
|
||||
@@ -109,7 +109,7 @@ FORWARD-TO is the callback to call with the results of the search."
|
||||
(biblio-doi--forward-bibtex-crosscite doi forward-to)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doi-insert-bibtex (doi)
|
||||
(defun biblio-doi-insert-bibtex (doi)
|
||||
"Insert BibTeX entry matching DOI."
|
||||
(interactive "MDOI: ")
|
||||
(let ((target-buffer (current-buffer)))
|
||||
@@ -120,5 +120,7 @@ FORWARD-TO is the callback to call with the results of the search."
|
||||
(biblio-format-bibtex result biblio-bibtex-use-autokey)
|
||||
target-buffer)))))
|
||||
|
||||
(defalias 'doi-insert-bibtex 'biblio-doi-insert-bibtex)
|
||||
|
||||
(provide 'biblio-doi)
|
||||
;;; biblio-doi.el ends here
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
(define-package "biblio" "20200416.1407" "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org"
|
||||
(define-package "biblio" "20210418.406" "Browse and import bibliographic references from CrossRef, arXiv, DBLP, HAL, Dissemin, and doi.org"
|
||||
'((emacs "24.3")
|
||||
(biblio-core "0.2"))
|
||||
:commit "eb9baf1d2bf6a073d24ccb717025baa693e98f3e")
|
||||
:commit "517ec18f00f91b61481214b178f7ae0b8fbc499b" :authors
|
||||
'(("Clément Pit-Claudel" . "clement.pitclaudel@live.com"))
|
||||
:maintainer
|
||||
'("Clément Pit-Claudel" . "clement.pitclaudel@live.com")
|
||||
:keywords
|
||||
'("bib" "tex" "convenience" "hypermedia")
|
||||
:url "https://github.com/cpitclaudel/biblio.el")
|
||||
;; Local Variables:
|
||||
;; no-byte-compile: t
|
||||
;; End:
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
;; Justin Burkett <justin@burkett.cc>
|
||||
;; Maintainer: Titus von der Malsburg <malsburg@posteo.de>
|
||||
;; URL: https://github.com/tmalsburg/helm-bibtex
|
||||
;; Package-Version: 20200908.1017
|
||||
;; Package-Commit: 1bb81d77e08296a50de7ebfe5cf5b0c715b7f3d6
|
||||
;; Package-Version: 20211019.1306
|
||||
;; Package-Commit: aa775340ba691d2322948bfdc6a88158568a1399
|
||||
;; Version: 1.0.0
|
||||
;; Package-Requires: ((parsebib "1.0") (s "1.9.0") (dash "2.6.0") (f "0.16.2") (cl-lib "0.5") (biblio "0.2") (emacs "26.1"))
|
||||
|
||||
@@ -70,6 +70,8 @@ different name, use a cons cell `(\"orgfile.org\" . \"bibfile.bib\")' instead."
|
||||
:group 'bibtex-completion
|
||||
:type '(choice file (repeat file)))
|
||||
|
||||
;;;###autoload (put 'bibtex-completion-bibliography 'safe-local-variable 'stringp)
|
||||
|
||||
(defcustom bibtex-completion-library-path nil
|
||||
"A directory or list of directories in which PDFs are stored.
|
||||
Bibtex-completion assumes that the names of these PDFs are
|
||||
@@ -124,7 +126,7 @@ ebib:key depending on the major mode of the current buffer. Note
|
||||
that the functions should accept a list of keys as input. With
|
||||
multiple marked entries one can insert multiple keys at once,
|
||||
e.g. \cite{key1,key2}. See the functions
|
||||
`bibtex-completion-format-citation-ebib' and
|
||||
`bibtex-completion-format-citation-org-cite' and
|
||||
`bibtex-completion-format-citation-cite' as examples."
|
||||
:group 'bibtex-completion
|
||||
:type '(alist :key-type symbol :value-type function))
|
||||
@@ -640,9 +642,11 @@ the hash table."
|
||||
|
||||
(defun bibtex-completion-make-candidate (entry)
|
||||
"Return a candidate for ENTRY."
|
||||
(cons (bibtex-completion-clean-string
|
||||
(s-join " " (-map #'cdr entry)))
|
||||
entry))
|
||||
(let* ((candidate (bibtex-completion-clean-string
|
||||
(s-join " " (-map #'cdr entry))))
|
||||
(candidate (concat candidate " " (car (assoc "=has-pdf=" entry))))
|
||||
(candidate (concat candidate " " (car (assoc "=has-note=" entry)))))
|
||||
(cons candidate entry)))
|
||||
|
||||
(defun bibtex-completion-parse-bibliography (&optional ht-strings)
|
||||
"Parse the BibTeX entries listed in the current buffer and return a list of entries in the order in which they appeared in the BibTeX file.
|
||||
@@ -707,8 +711,8 @@ does not exist, or if `bibtex-completion-pdf-field' is nil."
|
||||
((not value) nil) ; Field not defined.
|
||||
((f-file? value) (list value)) ; A bare full path was found.
|
||||
((-any 'f-file? (--map (f-join it (f-filename value)) (-flatten bibtex-completion-library-path))) (-filter 'f-file? (--map (f-join it (f-filename value)) (-flatten bibtex-completion-library-path))))
|
||||
(t ; Zotero/Mendeley/JabRef format:
|
||||
(let ((value (replace-regexp-in-string "\\([^\\]\\);" "\\1\^^" value)))
|
||||
(t ; Zotero/Mendeley/JabRef/Calibre format:
|
||||
(let ((value (replace-regexp-in-string "\\([^\\]\\)[;,]" "\\1\^^" value)))
|
||||
(cl-loop ; Looping over the files:
|
||||
for record in (s-split "\^^" value)
|
||||
; Replace unescaped colons by field separator:
|
||||
@@ -1047,6 +1051,12 @@ which no PDF is available are omitted."
|
||||
for pdfs = (bibtex-completion-find-pdf key bibtex-completion-find-additional-pdfs)
|
||||
append (with-no-warnings (--map (org-make-link-string it key) pdfs)))))
|
||||
|
||||
(defun bibtex-completion-format-citation-org-cite (keys)
|
||||
"Format org-links using Org mode's own cite syntax."
|
||||
(format "[cite:%s]"
|
||||
(s-join ";"
|
||||
(--map (format "@%s" it) keys))))
|
||||
|
||||
(defun bibtex-completion-format-citation-org-apa-link-to-PDF (keys)
|
||||
"Format org-links to PDF for entries in KEYS.
|
||||
Link text loosely follows APA format. Uses first matching PDF if
|
||||
@@ -1123,7 +1133,7 @@ The format depends on
|
||||
'bibtex-completion-apa-get-value entry))
|
||||
("inbook"
|
||||
(s-format
|
||||
"${author} (${year}). ${title}. In ${editor} (Eds.), ${booktitle} (pp. ${pages}). ${address}: ${publisher}."
|
||||
"${author} (${year}). ${chapter}. In ${editor} (Eds.), ${title} (pp. ${pages}). ${address}: ${publisher}."
|
||||
'bibtex-completion-apa-get-value entry))
|
||||
("incollection"
|
||||
(s-format
|
||||
@@ -1204,7 +1214,7 @@ Return DEFAULT if FIELD is not present in ENTRY."
|
||||
("year" (or value
|
||||
(car (split-string (bibtex-completion-get-value "date" entry "") "-"))))
|
||||
(_ value))
|
||||
"")))))
|
||||
(or default ""))))))
|
||||
|
||||
(defun bibtex-completion-apa-format-authors (value &optional abbrev)
|
||||
"Format author list in VALUE in APA style.
|
||||
@@ -1290,7 +1300,10 @@ Surrounding curly braces are stripped."
|
||||
(replace-regexp-in-string
|
||||
"\\(^[[:space:]]*[\"{][[:space:]]*\\)\\|\\([[:space:]]*[\"}][[:space:]]*$\\)"
|
||||
""
|
||||
(s-collapse-whitespace value))
|
||||
;; Collapse whitespaces when the content is not a path:
|
||||
(if (equal bibtex-completion-pdf-field field)
|
||||
value
|
||||
(s-collapse-whitespace value)))
|
||||
default)))
|
||||
|
||||
(defun bibtex-completion-insert-key (keys)
|
||||
@@ -1535,15 +1548,24 @@ bibliography file that will open that file for editing."
|
||||
|
||||
(defun bibtex-completion-find-local-bibliography ()
|
||||
"Return a list of BibTeX files associated with the current file.
|
||||
If the current file is a BibTeX file, return this
|
||||
file. Otherwise, try to use `reftex' to find the associated
|
||||
BibTeX files. If this fails, return nil."
|
||||
|
||||
If the current file is a BibTeX file, return this file. In LaTeX
|
||||
documents, use `reftex' to find associated BibTeX files. In org
|
||||
files return the local or global org bibliography (see oc.el).
|
||||
If all fails, return nil."
|
||||
(or (and (buffer-file-name)
|
||||
(string= (or (f-ext (buffer-file-name)) "") "bib")
|
||||
(list (buffer-file-name)))
|
||||
;; LaTeX:
|
||||
(and (buffer-file-name)
|
||||
(string= (or (f-ext (buffer-file-name)) "") "tex")
|
||||
(require 'reftex-cite nil t)
|
||||
(ignore-errors (reftex-get-bibfile-list)))))
|
||||
(ignore-errors (reftex-get-bibfile-list)))
|
||||
;; Org (with oc.el):
|
||||
(and (buffer-file-name)
|
||||
(string= (or (f-ext (buffer-file-name)) "") "org")
|
||||
(fboundp 'org-cite-list-bibliography-files)
|
||||
(org-cite-list-bibliography-files))))
|
||||
|
||||
(defun bibtex-completion-get-key-bibtex ()
|
||||
"Return the key of the BibTeX entry at point, nil otherwise.
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
;; Created: 16 Jun 2012
|
||||
;; Modified: 29 Nov 2017
|
||||
;; Version: 2.4
|
||||
;; Package-Version: 20200805.1727
|
||||
;; Package-Commit: 365c73d2618dd0040a32c2601c5456ab5495b812
|
||||
;; Package-Version: 20210210.1609
|
||||
;; Package-Commit: a7422fb8ab1baee19adb2717b5b47b9c3812a84c
|
||||
;; Keywords: keys keybinding config dotemacs
|
||||
;; URL: https://github.com/jwiegley/use-package
|
||||
|
||||
@@ -170,16 +170,19 @@ or operates on menu data structures, so you should write it so it
|
||||
can safely be called at any time."
|
||||
(let ((namevar (make-symbol "name"))
|
||||
(keyvar (make-symbol "key"))
|
||||
(kmapvar (make-symbol "kmap"))
|
||||
(kdescvar (make-symbol "kdesc"))
|
||||
(bindingvar (make-symbol "binding")))
|
||||
`(let* ((,namevar ,key-name)
|
||||
(,keyvar (if (vectorp ,namevar) ,namevar
|
||||
(read-kbd-macro ,namevar)))
|
||||
(kmap (if (and ,keymap (symbolp ,keymap)) (symbol-value ,keymap) ,keymap))
|
||||
(,kmapvar (or (if (and ,keymap (symbolp ,keymap))
|
||||
(symbol-value ,keymap) ,keymap)
|
||||
global-map))
|
||||
(,kdescvar (cons (if (stringp ,namevar) ,namevar
|
||||
(key-description ,namevar))
|
||||
(if (symbolp ,keymap) ,keymap (quote ,keymap))))
|
||||
(,bindingvar (lookup-key (or kmap global-map) ,keyvar)))
|
||||
(,bindingvar (lookup-key ,kmapvar ,keyvar)))
|
||||
(let ((entry (assoc ,kdescvar personal-keybindings))
|
||||
(details (list ,command
|
||||
(unless (numberp ,bindingvar)
|
||||
@@ -188,27 +191,57 @@ can safely be called at any time."
|
||||
(setcdr entry details)
|
||||
(add-to-list 'personal-keybindings (cons ,kdescvar details))))
|
||||
,(if predicate
|
||||
`(define-key (or kmap global-map) ,keyvar
|
||||
`(define-key ,kmapvar ,keyvar
|
||||
'(menu-item "" nil :filter (lambda (&optional _)
|
||||
(when ,predicate
|
||||
,command))))
|
||||
`(define-key (or kmap global-map) ,keyvar ,command)))))
|
||||
`(define-key ,kmapvar ,keyvar ,command)))))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro unbind-key (key-name &optional keymap)
|
||||
"Unbind the given KEY-NAME, within the KEYMAP (if specified).
|
||||
See `bind-key' for more details."
|
||||
`(progn
|
||||
(bind-key ,key-name nil ,keymap)
|
||||
(setq personal-keybindings
|
||||
(cl-delete-if #'(lambda (k)
|
||||
,(if keymap
|
||||
`(and (consp (car k))
|
||||
(string= (caar k) ,key-name)
|
||||
(eq (cdar k) ',keymap))
|
||||
`(and (stringp (car k))
|
||||
(string= (car k) ,key-name))))
|
||||
personal-keybindings))))
|
||||
(let ((namevar (make-symbol "name"))
|
||||
(kdescvar (make-symbol "kdesc")))
|
||||
`(let* ((,namevar ,key-name)
|
||||
(,kdescvar (cons (if (stringp ,namevar) ,namevar
|
||||
(key-description ,namevar))
|
||||
(if (symbolp ,keymap) ,keymap (quote ,keymap)))))
|
||||
(bind-key--remove (if (vectorp ,namevar) ,namevar
|
||||
(read-kbd-macro ,namevar))
|
||||
(or (if (and ,keymap (symbolp ,keymap))
|
||||
(symbol-value ,keymap) ,keymap)
|
||||
global-map))
|
||||
(setq personal-keybindings
|
||||
(cl-delete-if (lambda (k) (equal (car k) ,kdescvar))
|
||||
personal-keybindings))
|
||||
nil)))
|
||||
|
||||
(defun bind-key--remove (key keymap)
|
||||
"Remove KEY from KEYMAP.
|
||||
|
||||
In contrast to `define-key', this function removes the binding from the keymap."
|
||||
(define-key keymap key nil)
|
||||
;; Split M-key in ESC key
|
||||
(setq key (mapcan (lambda (k)
|
||||
(if (and (integerp k) (/= (logand k ?\M-\0) 0))
|
||||
(list ?\e (logxor k ?\M-\0))
|
||||
(list k)))
|
||||
key))
|
||||
;; Delete single keys directly
|
||||
(if (= (length key) 1)
|
||||
(delete key keymap)
|
||||
;; Lookup submap and delete key from there
|
||||
(let* ((prefix (vconcat (butlast key)))
|
||||
(submap (lookup-key keymap prefix)))
|
||||
(unless (keymapp submap)
|
||||
(error "Not a keymap for %s" key))
|
||||
(when (symbolp submap)
|
||||
(setq submap (symbol-function submap)))
|
||||
(delete (last key) submap)
|
||||
;; Delete submap if it is empty
|
||||
(when (= 1 (length submap))
|
||||
(bind-key--remove prefix keymap)))))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro bind-key* (key-name command &optional predicate)
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
;; Author: Debanjum Singh Solanky <debanjum AT gmail DOT com>
|
||||
;; Description: Fuzzy auto-completion for ledger & friends
|
||||
;; Keywords: abbrev, matching, auto-complete, beancount, ledger, company
|
||||
;; Package-Version: 20200726.1825
|
||||
;; Package-Commit: 9fe9e3b809d6d2bc13c601953f696f43b09ea296
|
||||
;; Package-Version: 20210910.250
|
||||
;; Package-Commit: c6911b7e39b29c0d5f2541392ff485b0f53fd366
|
||||
;; Version: 0.1.0
|
||||
;; Package-Requires: ((emacs "24.3") (company "0.8.0"))
|
||||
;; URL: https://github.com/debanjum/company-ledger
|
||||
@@ -62,6 +62,12 @@
|
||||
(require 'cl-lib)
|
||||
(require 'company)
|
||||
|
||||
(defconst company-ledger-date-regexp "^[0-9]\\{4\\}[-/][0-9]\\{2\\}[-/][0-9]\\{2\\}"
|
||||
"A regular expression to match lines beginning with dates.")
|
||||
|
||||
(defconst company-ledger-empty-line-regexp "^[ \t]*$"
|
||||
"A regular expression to match empty lines.")
|
||||
|
||||
(defun company-ledger--regexp-filter (regexp list)
|
||||
"Use REGEXP to filter LIST of strings."
|
||||
(let (new)
|
||||
@@ -71,11 +77,11 @@
|
||||
new))
|
||||
|
||||
(defun company-ledger--get-all-postings ()
|
||||
"Get all paragraphs in buffer containing YYYY[-/]MM[-/]DD in them."
|
||||
"Get all paragraphs in buffer starting with dates."
|
||||
(company-ledger--regexp-filter
|
||||
"[0-9][0-9][0-9][0-9][-/][0-9][0-9][-/][0-9][0-9]"
|
||||
company-ledger-date-regexp
|
||||
(mapcar (lambda (s) (substring s 1))
|
||||
(split-string (buffer-string) "^$" t))))
|
||||
(split-string (buffer-string) company-ledger-empty-line-regexp t))))
|
||||
|
||||
(defun company-ledger--fuzzy-word-match (prefix candidate)
|
||||
"Return non-nil if each (partial) word in PREFIX is also in CANDIDATE."
|
||||
@@ -90,7 +96,7 @@
|
||||
(save-excursion
|
||||
(beginning-of-line)
|
||||
(forward-line 1)
|
||||
(or (looking-at "[[:space:]]*$")
|
||||
(or (looking-at company-ledger-empty-line-regexp)
|
||||
(eolp)
|
||||
(eobp))))
|
||||
|
||||
@@ -99,19 +105,20 @@
|
||||
"Fuzzy company back-end for ledger, beancount and other ledger-like modes.
|
||||
Provide completion info based on COMMAND and ARG. IGNORED, not used."
|
||||
(interactive (list 'interactive))
|
||||
(cl-case command
|
||||
(interactive (company-begin-backend 'company-ledger))
|
||||
(pcase command
|
||||
(`interactive (company-begin-backend 'company-ledger))
|
||||
|
||||
(prefix (and (or (bound-and-true-p beancount-mode)
|
||||
(`prefix (and (or (eq major-mode 'beancount-mode)
|
||||
(derived-mode-p 'ledger-mode))
|
||||
(company-ledger--next-line-empty-p)
|
||||
(thing-at-point 'line t)))
|
||||
|
||||
(candidates
|
||||
(`candidates
|
||||
(cl-remove-if-not
|
||||
(lambda (c) (company-ledger--fuzzy-word-match arg c))
|
||||
(company-ledger--get-all-postings)))
|
||||
(sorted t)))
|
||||
|
||||
(`sorted t)))
|
||||
|
||||
(provide 'company-ledger)
|
||||
;;; company-ledger.el ends here
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
|
||||
;; Author: Lars Andersen <expez@expez.com>
|
||||
;; URL: https://www.github.com/expez/company-quickhelp
|
||||
;; Package-Version: 20201208.2308
|
||||
;; Package-Commit: b13ff1ba0d6176825f165920b17625948f1256c5
|
||||
;; Package-Version: 20211115.1335
|
||||
;; Package-Commit: 3ca2708b4e5190205aca01d65fe1b391963a53f9
|
||||
;; Keywords: company popup documentation quickhelp
|
||||
;; Version: 2.2.0
|
||||
;; Package-Requires: ((emacs "24.3") (company "0.8.9") (pos-tip "0.4.6"))
|
||||
@@ -46,7 +46,7 @@
|
||||
"Documentation popups for `company-mode'"
|
||||
:group 'company)
|
||||
|
||||
(defcustom company-quickhelp-use-propertized-text nil
|
||||
(defcustom company-quickhelp-use-propertized-text t
|
||||
"Allow the text to have properties like color, font size, etc."
|
||||
:type '(choice (boolean :tag "Allow"))
|
||||
:group 'company-quickhelp)
|
||||
@@ -130,14 +130,14 @@ resolve ambiguous documentation requests. Instead of failing we
|
||||
just grab the first candidate and press forward."
|
||||
(car candidates))
|
||||
|
||||
(defun company-quickhelp--fetch-docstring (backend)
|
||||
"Fetch docstring from BACKEND."
|
||||
(let ((quickhelp-str (company-call-backend 'quickhelp-string backend)))
|
||||
(defun company-quickhelp--fetch-docstring (selected)
|
||||
"Fetch docstring from the current backend for SELECTED string."
|
||||
(let ((quickhelp-str (company-call-backend 'quickhelp-string selected)))
|
||||
(if (stringp quickhelp-str)
|
||||
(with-temp-buffer
|
||||
(insert quickhelp-str)
|
||||
(company-quickhelp--docstring-from-buffer (point-min)))
|
||||
(let ((doc (company-call-backend 'doc-buffer backend)))
|
||||
(let ((doc (company-call-backend 'doc-buffer selected)))
|
||||
(when doc
|
||||
;; The company backend can either return a buffer with the doc or a
|
||||
;; cons containing the doc buffer and a position at which to start
|
||||
@@ -148,15 +148,16 @@ just grab the first candidate and press forward."
|
||||
(company-quickhelp--docstring-from-buffer (or doc-begin (point-min))))))))))
|
||||
|
||||
(defun company-quickhelp--doc (selected)
|
||||
(cl-letf (((symbol-function 'completing-read)
|
||||
#'company-quickhelp--completing-read))
|
||||
(let* ((doc-and-meta (company-quickhelp--fetch-docstring selected))
|
||||
(truncated (plist-get doc-and-meta :truncated))
|
||||
(doc (plist-get doc-and-meta :doc)))
|
||||
(unless (member doc '(nil ""))
|
||||
(if truncated
|
||||
(concat doc "\n\n[...]")
|
||||
doc)))))
|
||||
(let ((message-log-max nil) (inhibit-message t))
|
||||
(cl-letf (((symbol-function 'completing-read)
|
||||
#'company-quickhelp--completing-read))
|
||||
(let* ((doc-and-meta (company-quickhelp--fetch-docstring selected))
|
||||
(truncated (plist-get doc-and-meta :truncated))
|
||||
(doc (plist-get doc-and-meta :doc)))
|
||||
(unless (member doc '(nil ""))
|
||||
(if truncated
|
||||
(concat doc "\n\n[...]")
|
||||
doc))))))
|
||||
|
||||
(defun company-quickhelp-manual-begin ()
|
||||
"Manually trigger the `company-quickhelp' popup for the
|
||||
@@ -206,7 +207,7 @@ currently active `company' completion candidate."
|
||||
(w-h (pos-tip-string-width-height doc)))
|
||||
(cond
|
||||
((> (car w-h) width)
|
||||
(setq doc (pos-tip-fill-string doc width nil 'none nil max-height)
|
||||
(setq doc (pos-tip-fill-string doc width nil nil nil max-height)
|
||||
w-h (pos-tip-string-width-height doc)))
|
||||
((or (> (car w-h) max-width)
|
||||
(> (cdr w-h) max-height))
|
||||
@@ -221,7 +222,7 @@ currently active `company' completion candidate."
|
||||
|
||||
(defun company-quickhelp--set-timer ()
|
||||
(when (or (null company-quickhelp--timer)
|
||||
(eq this-command #'company-quickhelp-manual-begin))
|
||||
(eq this-command #'company-quickhelp-manual-begin))
|
||||
(setq company-quickhelp--timer
|
||||
(run-with-idle-timer company-quickhelp-delay nil
|
||||
'company-quickhelp--show))))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; company-abbrev.el --- company-mode completion backend for abbrev
|
||||
|
||||
;; Copyright (C) 2009-2011, 2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2009-2011, 2015, 2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Nikolaj Schumacher
|
||||
|
||||
@@ -44,7 +44,9 @@
|
||||
(candidates (nconc
|
||||
(delete "" (all-completions arg global-abbrev-table))
|
||||
(delete "" (all-completions arg local-abbrev-table))))
|
||||
(meta (abbrev-expansion arg))))
|
||||
(kind 'snippet)
|
||||
(meta (abbrev-expansion arg))
|
||||
(post-completion (expand-abbrev))))
|
||||
|
||||
(provide 'company-abbrev)
|
||||
;;; company-abbrev.el ends here
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; company-capf.el --- company-mode completion-at-point-functions backend -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2013-2019 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2013-2019, 2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
@@ -148,8 +148,14 @@ so we can't just use the preceding variable instead.")
|
||||
:company-location)))
|
||||
(when f (funcall f arg))))
|
||||
(`annotation
|
||||
(company-capf--annotation arg))
|
||||
(`kind
|
||||
(let ((f (plist-get (nthcdr 4 company-capf--current-completion-data)
|
||||
:annotation-function)))
|
||||
:company-kind)))
|
||||
(when f (funcall f arg))))
|
||||
(`deprecated
|
||||
(let ((f (plist-get (nthcdr 4 company-capf--current-completion-data)
|
||||
:company-deprecated)))
|
||||
(when f (funcall f arg))))
|
||||
(`require-match
|
||||
(plist-get (nthcdr 4 (company--capf-data)) :company-require-match))
|
||||
@@ -158,6 +164,17 @@ so we can't just use the preceding variable instead.")
|
||||
(company--capf-post-completion arg))
|
||||
))
|
||||
|
||||
(defun company-capf--annotation (arg)
|
||||
(let* ((f (plist-get (nthcdr 4 company-capf--current-completion-data)
|
||||
:annotation-function))
|
||||
(annotation (when f (funcall f arg))))
|
||||
(if (and company-format-margin-function
|
||||
(equal annotation " <f>") ; elisp-completion-at-point, pre-icons
|
||||
(plist-get (nthcdr 4 company-capf--current-completion-data)
|
||||
:company-kind))
|
||||
nil
|
||||
annotation)))
|
||||
|
||||
(defun company-capf--candidates (input)
|
||||
(let ((res (company--capf-data)))
|
||||
(company-capf--save-current-data res)
|
||||
|
||||
@@ -39,9 +39,10 @@
|
||||
:type 'file)
|
||||
|
||||
(defcustom company-clang-begin-after-member-access t
|
||||
"When non-nil, automatic completion will start whenever the current
|
||||
symbol is preceded by \".\", \"->\" or \"::\", ignoring
|
||||
`company-minimum-prefix-length'.
|
||||
"When non-nil, start automatic completion after member access operators.
|
||||
|
||||
Automatic completion starts whenever the current symbol is preceded by
|
||||
\".\", \"->\" or \"::\", ignoring `company-minimum-prefix-length'.
|
||||
|
||||
If `company-begin-commands' is a list, it should include `c-electric-lt-gt'
|
||||
and `c-electric-colon', for automatic completion right after \">\" and
|
||||
@@ -59,7 +60,7 @@ it. That allows the flags use relative file names within the project."
|
||||
:safe 'booleanp)
|
||||
|
||||
(defcustom company-clang-arguments nil
|
||||
"Additional arguments to pass to clang when completing.
|
||||
"A list of additional arguments to pass to clang when completing.
|
||||
Prefix files (-include ...) can be selected with `company-clang-set-prefix'
|
||||
or automatically through a custom `company-clang-prefix-guesser'."
|
||||
:type '(repeat (string :tag "Argument")))
|
||||
@@ -230,6 +231,8 @@ or automatically through a custom `company-clang-prefix-guesser'."
|
||||
(let* ((objc (derived-mode-p 'objc-mode))
|
||||
(buf (get-buffer-create "*clang-output*"))
|
||||
;; Looks unnecessary in Emacs 25.1 and later.
|
||||
;; (Inconclusive, needs more testing):
|
||||
;; https://github.com/company-mode/company-mode/pull/288#issuecomment-72491808
|
||||
(process-adaptive-read-buffering nil)
|
||||
(existing-process (get-buffer-process buf)))
|
||||
(when existing-process
|
||||
@@ -336,10 +339,9 @@ or automatically through a custom `company-clang-prefix-guesser'."
|
||||
(company-clang--check-version 2.9 3.1)))
|
||||
|
||||
(defun company-clang--check-version (min apple-min)
|
||||
(pcase company-clang--version
|
||||
(pcase-exhaustive company-clang--version
|
||||
(`(apple . ,ver) (>= ver apple-min))
|
||||
(`(normal . ,ver) (>= ver min))
|
||||
(_ (error "pcase-exhaustive is not in Emacs 24.3!"))))
|
||||
(`(normal . ,ver) (>= ver min))))
|
||||
|
||||
(defsubst company-clang-version ()
|
||||
"Return the version of `company-clang-executable'."
|
||||
@@ -387,6 +389,7 @@ passed via standard input."
|
||||
(candidates (cons :async
|
||||
(lambda (cb) (company-clang--candidates arg cb))))
|
||||
(meta (company-clang--meta arg))
|
||||
(kind (company-clang--kind arg))
|
||||
(annotation (company-clang--annotation arg))
|
||||
(post-completion (let ((anno (company-clang--annotation arg)))
|
||||
(when (and company-clang-insert-arguments anno)
|
||||
@@ -396,5 +399,22 @@ passed via standard input."
|
||||
(company-template-c-like-templatify
|
||||
(concat arg anno))))))))
|
||||
|
||||
(defun company-clang--kind (arg)
|
||||
;; XXX: Not very precise.
|
||||
;; E.g. it will say that an arg-less ObjC method is a variable (perhaps we
|
||||
;; could look around for brackets, etc, if there any actual users who's
|
||||
;; bothered by it).
|
||||
;; And we can't distinguish between local vars and struct fields.
|
||||
;; Or between keywords and macros.
|
||||
(let ((meta (company-clang--meta arg)))
|
||||
(cond
|
||||
((null meta) 'keyword)
|
||||
((string-match "(" meta)
|
||||
(if (string-match-p (format "\\`%s *\\'" (regexp-quote arg))
|
||||
(substring meta 0 (match-beginning 0)))
|
||||
'keyword ; Also macro, actually (no return type).
|
||||
'function))
|
||||
(t 'variable))))
|
||||
|
||||
(provide 'company-clang)
|
||||
;;; company-clang.el ends here
|
||||
|
||||
@@ -97,6 +97,7 @@ comments or strings."
|
||||
(`code company-dabbrev-code-modes)
|
||||
(`all `all))
|
||||
(not company-dabbrev-code-everywhere))))
|
||||
(kind 'text)
|
||||
(ignore-case company-dabbrev-code-ignore-case)
|
||||
(duplicates t)))
|
||||
|
||||
|
||||
@@ -199,6 +199,7 @@ This variable affects both `company-dabbrev' and `company-dabbrev-code'."
|
||||
(if downcase-p
|
||||
(mapcar 'downcase words)
|
||||
words)))
|
||||
(kind 'text)
|
||||
(ignore-case company-dabbrev-ignore-case)
|
||||
(duplicates t)))
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; company-files.el --- company-mode completion backend for file names
|
||||
|
||||
;; Copyright (C) 2009-2011, 2014-2015 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2009-2011, 2014-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Nikolaj Schumacher
|
||||
|
||||
@@ -33,11 +33,19 @@
|
||||
:group 'company)
|
||||
|
||||
(defcustom company-files-exclusions nil
|
||||
"File name extensions and directory names to ignore.
|
||||
"A list of file name extensions and directory names to ignore.
|
||||
The values should use the same format as `completion-ignored-extensions'."
|
||||
:type '(const string)
|
||||
:type '(repeat (string :tag "File extension or directory name"))
|
||||
:package-version '(company . "0.9.1"))
|
||||
|
||||
(defcustom company-files-chop-trailing-slash t
|
||||
"Non-nil to remove the trailing slash after inserting directory name.
|
||||
|
||||
This way it's easy to continue completion by typing `/' again.
|
||||
|
||||
Set this to nil to disable that behavior."
|
||||
:type 'boolean)
|
||||
|
||||
(defun company-files--directory-files (dir prefix)
|
||||
;; Don't use directory-files. It produces directories without trailing /.
|
||||
(condition-case err
|
||||
@@ -51,7 +59,7 @@ The values should use the same format as `completion-ignored-extensions'."
|
||||
(file-error nil)))
|
||||
|
||||
(defun company-files--exclusions-filtered (completions)
|
||||
(let* ((dir-exclusions (cl-delete-if-not #'company-files--trailing-slash-p
|
||||
(let* ((dir-exclusions (cl-remove-if-not #'company-files--trailing-slash-p
|
||||
company-files-exclusions))
|
||||
(file-exclusions (cl-set-difference company-files-exclusions
|
||||
dir-exclusions)))
|
||||
@@ -128,7 +136,8 @@ The values should use the same format as `completion-ignored-extensions'."
|
||||
(string-prefix-p (car old) (car new))))
|
||||
|
||||
(defun company-files--post-completion (arg)
|
||||
(when (company-files--trailing-slash-p arg)
|
||||
(when (and company-files-chop-trailing-slash
|
||||
(company-files--trailing-slash-p arg))
|
||||
(delete-char -1)))
|
||||
|
||||
;;;###autoload
|
||||
@@ -144,6 +153,7 @@ File paths with spaces are only supported inside strings."
|
||||
(location (cons (dired-noselect
|
||||
(file-name-directory (directory-file-name arg))) 1))
|
||||
(post-completion (company-files--post-completion arg))
|
||||
(kind (if (string-suffix-p "/" arg) 'folder 'file))
|
||||
(sorted t)
|
||||
(no-cache t)))
|
||||
|
||||
|
||||
@@ -63,6 +63,11 @@ completion."
|
||||
(locate-dominating-file buffer-file-name "GTAGS"))
|
||||
company-gtags--tags-available-p))
|
||||
|
||||
;; Avoid byte-compilation warnings on Emacs < 27.
|
||||
(declare-function with-connection-local-variables "files-x")
|
||||
(declare-function connection-local-set-profile-variables "files-x")
|
||||
(declare-function connection-local-set-profiles "files-x")
|
||||
|
||||
(defun company-gtags--executable ()
|
||||
(cond
|
||||
((not (eq company-gtags--executable 'unknown)) ;; the value is already cached
|
||||
@@ -76,7 +81,8 @@ completion."
|
||||
company-gtags--executable-connection)
|
||||
|
||||
;; Else search and set as connection local for next uses.
|
||||
(setq-local company-gtags--executable (executable-find "global" t))
|
||||
(setq-local company-gtags--executable
|
||||
(with-no-warnings (executable-find "global" t)))
|
||||
(let* ((host (file-remote-p default-directory 'host))
|
||||
(symvars (intern (concat host "-vars")))) ;; profile name
|
||||
|
||||
@@ -94,7 +100,7 @@ completion."
|
||||
(let (tags)
|
||||
;; For some reason Global v 6.6.3 is prone to returning exit status 1
|
||||
;; even on successful searches when '-T' is used.
|
||||
(when (/= 3 (process-file company-gtags-executable nil
|
||||
(when (/= 3 (process-file (company-gtags--executable) nil
|
||||
;; "-T" goes through all the tag files listed in GTAGSLIBPATH
|
||||
(list (current-buffer) nil) nil "-xGqT" (concat "^" prefix)))
|
||||
(goto-char (point-min))
|
||||
@@ -116,8 +122,17 @@ completion."
|
||||
|
||||
(defun company-gtags--annotation (arg)
|
||||
(let ((meta (get-text-property 0 'meta arg)))
|
||||
(when (string-match (concat (regexp-quote arg) "\\((.*)\\).*") meta)
|
||||
(match-string 1 meta))))
|
||||
(when (string-match (concat (regexp-quote arg) " *(") meta)
|
||||
(with-temp-buffer
|
||||
(let ((start (match-end 0)))
|
||||
(insert meta)
|
||||
(goto-char start)
|
||||
(condition-case nil
|
||||
(forward-sexp)
|
||||
(scan-error
|
||||
(goto-char (point-max))))
|
||||
(buffer-substring-no-properties
|
||||
start (point)))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun company-gtags (command &optional arg &rest ignored)
|
||||
|
||||
@@ -75,6 +75,7 @@ If nil, use `ispell-complete-word-dict'."
|
||||
words
|
||||
;; Work around issue #284.
|
||||
(all-completions arg words))))
|
||||
(kind 'text)
|
||||
(sorted t)
|
||||
(ignore-case 'keep-prefix)))
|
||||
|
||||
|
||||
@@ -27,6 +27,15 @@
|
||||
|
||||
(require 'company)
|
||||
(require 'cl-lib)
|
||||
(eval-when-compile (require 'make-mode))
|
||||
|
||||
(defgroup company-keywords nil
|
||||
"Completion backend for keywords."
|
||||
:group 'company)
|
||||
|
||||
(defcustom company-keywords-ignore-case nil
|
||||
"Non-nil to ignore case in completion candidates."
|
||||
:type 'boolean)
|
||||
|
||||
(defun company-keywords-upper-lower (&rest lst)
|
||||
;; Upcase order is different for _.
|
||||
@@ -180,6 +189,10 @@
|
||||
"internal" "is" "lateinit" "nested" "null" "object" "open" "out" "override"
|
||||
"package" "private" "protected" "public" "return" "super" "this" "throw"
|
||||
"trait" "true" "try" "typealias" "val" "var" "when" "while")
|
||||
(lua-mode
|
||||
;; https://www.lua.org/manual/5.3/manual.html
|
||||
"and" "break" "do" "else" "elseif" "end" "false" "for" "function" "goto" "if"
|
||||
"in" "local" "nil" "not" "or" "repeat" "return" "then" "true" "until" "while")
|
||||
(objc-mode
|
||||
"@catch" "@class" "@encode" "@end" "@finally" "@implementation"
|
||||
"@interface" "@private" "@protected" "@protocol" "@public"
|
||||
@@ -293,6 +306,27 @@
|
||||
(enh-ruby-mode . ruby-mode))
|
||||
"Alist mapping major-modes to sorted keywords for `company-keywords'.")
|
||||
|
||||
(with-eval-after-load 'make-mode
|
||||
(mapc
|
||||
(lambda (mode-stmnts)
|
||||
(setf (alist-get (car mode-stmnts) company-keywords-alist)
|
||||
(cl-remove-duplicates
|
||||
(sort (append makefile-special-targets-list
|
||||
(cl-mapcan #'identity
|
||||
(mapcar
|
||||
#'split-string
|
||||
(cl-remove-if-not
|
||||
#'stringp
|
||||
(symbol-value (cdr mode-stmnts))))))
|
||||
#'string<)
|
||||
:test #'string=)))
|
||||
'((makefile-automake-mode . makefile-automake-statements)
|
||||
(makefile-gmake-mode . makefile-gmake-statements)
|
||||
(makefile-makepp-mode . makefile-makepp-statements)
|
||||
(makefile-bsdmake-mode . makefile-bsdmake-statements)
|
||||
(makefile-imake-mode . makefile-statements)
|
||||
(makefile-mode . makefile-statements))))
|
||||
|
||||
;;;###autoload
|
||||
(defun company-keywords (command &optional arg &rest ignored)
|
||||
"`company-mode' backend for programming language keywords."
|
||||
@@ -303,12 +337,14 @@
|
||||
(not (company-in-string-or-comment))
|
||||
(or (company-grab-symbol) 'stop)))
|
||||
(candidates
|
||||
(let ((completion-ignore-case nil)
|
||||
(let ((completion-ignore-case company-keywords-ignore-case)
|
||||
(symbols (cdr (assq major-mode company-keywords-alist))))
|
||||
(all-completions arg (if (consp symbols)
|
||||
symbols
|
||||
(cdr (assq symbols company-keywords-alist))))))
|
||||
(sorted t)))
|
||||
(kind 'keyword)
|
||||
(sorted t)
|
||||
(ignore-case company-keywords-ignore-case)))
|
||||
|
||||
(provide 'company-keywords)
|
||||
;;; company-keywords.el ends here
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
(define-package "company" "20210103.1124" "Modular text completion framework"
|
||||
'((emacs "24.3"))
|
||||
:commit "6116c4617a7934acfe84cb82a058e9b198f0f480" :authors
|
||||
(define-package "company" "20220103.351" "Modular text completion framework"
|
||||
'((emacs "25.1"))
|
||||
:commit "6eeaf46b869552b7cb70cab7d4590120c64cc175" :authors
|
||||
'(("Nikolaj Schumacher"))
|
||||
:maintainer
|
||||
'("Dmitry Gutov" . "dgutov@yandex.ru")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; company-tng.el --- company-mode configuration for single-button interaction
|
||||
|
||||
;; Copyright (C) 2017-2020 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2017-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Nikita Leshenko
|
||||
|
||||
@@ -145,6 +145,17 @@ confirm the selection and finish the completion."
|
||||
|
||||
(declare-function eglot--snippet-expansion-fn "eglot")
|
||||
|
||||
(defvar company-tng-map
|
||||
(let ((keymap (make-sparse-keymap)))
|
||||
(set-keymap-parent keymap company-active-map)
|
||||
(define-key keymap [return] nil)
|
||||
(define-key keymap (kbd "RET") nil)
|
||||
(define-key keymap [tab] 'company-select-next)
|
||||
(define-key keymap (kbd "TAB") 'company-select-next)
|
||||
(define-key keymap [backtab] 'company-select-previous)
|
||||
(define-key keymap (kbd "S-TAB") 'company-select-previous)
|
||||
keymap))
|
||||
|
||||
;;;###autoload
|
||||
(define-minor-mode company-tng-mode
|
||||
"This minor mode enables `company-tng-frontend'."
|
||||
@@ -155,26 +166,30 @@ confirm the selection and finish the completion."
|
||||
(setq company-frontends
|
||||
(add-to-list 'company-frontends 'company-tng-frontend))
|
||||
(when company-tng-auto-configure
|
||||
(setq company-require-match nil)
|
||||
(setq company-frontends '(company-tng-frontend
|
||||
company-pseudo-tooltip-frontend
|
||||
company-echo-metadata-frontend))
|
||||
(setq company-clang-insert-arguments nil
|
||||
(setq company-require-match nil
|
||||
company-clang-insert-arguments nil
|
||||
company-semantic-insert-arguments nil
|
||||
company-rtags-insert-arguments nil
|
||||
lsp-enable-snippet nil)
|
||||
(advice-add #'eglot--snippet-expansion-fn :override #'ignore)
|
||||
(let ((keymap company-active-map))
|
||||
(define-key keymap [return] nil)
|
||||
(define-key keymap (kbd "RET") nil)
|
||||
(define-key keymap [tab] 'company-select-next)
|
||||
(define-key keymap (kbd "TAB") 'company-select-next)
|
||||
(define-key keymap [backtab] 'company-select-previous)
|
||||
(define-key keymap (kbd "S-TAB") 'company-select-previous)))
|
||||
(setq company-active-map company-tng-map))
|
||||
(setq company-selection-default nil))
|
||||
(t
|
||||
(setq company-frontends
|
||||
(delete 'company-tng-frontend company-frontends))
|
||||
'(company-pseudo-tooltip-unless-just-one-frontend
|
||||
company-preview-if-just-one-frontend
|
||||
company-echo-metadata-frontend))
|
||||
(when company-tng-auto-configure
|
||||
(setq company-require-match 'company-explicit-action-p
|
||||
company-clang-insert-arguments t
|
||||
company-semantic-insert-arguments t
|
||||
company-rtags-insert-arguments t
|
||||
lsp-enable-snippet t)
|
||||
(advice-remove #'eglot--snippet-expansion-fn #'ignore)
|
||||
(setq company-active-map (keymap-parent company-tng-map)))
|
||||
(setq company-selection-default 0))))
|
||||
|
||||
(provide 'company-tng)
|
||||
|
||||
@@ -35,6 +35,9 @@
|
||||
(declare-function yas--template-expand-env "yasnippet")
|
||||
(declare-function yas--warning "yasnippet")
|
||||
(declare-function yas-minor-mode "yasnippet")
|
||||
(declare-function yas--require-template-specific-condition-p "yasnippet")
|
||||
(declare-function yas--template-can-expand-p "yasnippet")
|
||||
(declare-function yas--template-condition "yasnippet")
|
||||
|
||||
(defvar company-yasnippet-annotation-fn
|
||||
(lambda (name)
|
||||
@@ -86,6 +89,7 @@ It has to accept one argument: the snippet's name.")
|
||||
(cl-mapcan
|
||||
(lambda (table)
|
||||
(let ((keyhash (yas--table-hash table))
|
||||
(requirement (yas--require-template-specific-condition-p))
|
||||
res)
|
||||
(when keyhash
|
||||
(maphash
|
||||
@@ -94,13 +98,15 @@ It has to accept one argument: the snippet's name.")
|
||||
(string-prefix-p key-prefix key))
|
||||
(maphash
|
||||
(lambda (name template)
|
||||
(push
|
||||
(propertize key
|
||||
'yas-annotation name
|
||||
'yas-template template
|
||||
'yas-prefix-offset (- (length key-prefix)
|
||||
(length prefix)))
|
||||
res))
|
||||
(when (yas--template-can-expand-p
|
||||
(yas--template-condition template) requirement)
|
||||
(push
|
||||
(propertize key
|
||||
'yas-annotation name
|
||||
'yas-template template
|
||||
'yas-prefix-offset (- (length key-prefix)
|
||||
(length prefix)))
|
||||
res)))
|
||||
value)))
|
||||
keyhash))
|
||||
res))
|
||||
@@ -165,6 +171,7 @@ shadow backends that come after it. Recommended usages:
|
||||
(candidates (company-yasnippet--candidates arg))
|
||||
(doc-buffer (company-yasnippet--doc arg))
|
||||
(no-cache t)
|
||||
(kind 'snippet)
|
||||
(post-completion
|
||||
(let ((template (get-text-property 0 'yas-template arg))
|
||||
(prefix-offset (get-text-property 0 'yas-prefix-offset arg)))
|
||||
|
||||
1710
lisp/company/company.info
Normal file
18
lisp/company/dir
Normal file
@@ -0,0 +1,18 @@
|
||||
This is the file .../info/dir, which contains the
|
||||
topmost node of the Info hierarchy, called (dir)Top.
|
||||
The first time you invoke Info you start off looking at this node.
|
||||
|
||||
File: dir, Node: Top This is the top of the INFO tree
|
||||
|
||||
This (the Directory node) gives a menu of major topics.
|
||||
Typing "q" exits, "H" lists all Info commands, "d" returns here,
|
||||
"h" gives a primer for first-timers,
|
||||
"mEmacs<Return>" visits the Emacs manual, etc.
|
||||
|
||||
In Emacs, you can click mouse button 2 on a menu item or cross reference
|
||||
to select it.
|
||||
|
||||
* Menu:
|
||||
|
||||
Emacs misc features
|
||||
* Company: (company). A modular text completion framework.
|
||||
395
lisp/company/icons/LICENSE
Normal file
@@ -0,0 +1,395 @@
|
||||
Attribution 4.0 International
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and
|
||||
does not provide legal services or legal advice. Distribution of
|
||||
Creative Commons public licenses does not create a lawyer-client or
|
||||
other relationship. Creative Commons makes its licenses and related
|
||||
information available on an "as-is" basis. Creative Commons gives no
|
||||
warranties regarding its licenses, any material licensed under their
|
||||
terms and conditions, or any related information. Creative Commons
|
||||
disclaims all liability for damages resulting from their use to the
|
||||
fullest extent possible.
|
||||
|
||||
Using Creative Commons Public Licenses
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and
|
||||
conditions that creators and other rights holders may use to share
|
||||
original works of authorship and other material subject to copyright
|
||||
and certain other rights specified in the public license below. The
|
||||
following considerations are for informational purposes only, are not
|
||||
exhaustive, and do not form part of our licenses.
|
||||
|
||||
Considerations for licensors: Our public licenses are
|
||||
intended for use by those authorized to give the public
|
||||
permission to use material in ways otherwise restricted by
|
||||
copyright and certain other rights. Our licenses are
|
||||
irrevocable. Licensors should read and understand the terms
|
||||
and conditions of the license they choose before applying it.
|
||||
Licensors should also secure all rights necessary before
|
||||
applying our licenses so that the public can reuse the
|
||||
material as expected. Licensors should clearly mark any
|
||||
material not subject to the license. This includes other CC-
|
||||
licensed material, or material used under an exception or
|
||||
limitation to copyright. More considerations for licensors:
|
||||
wiki.creativecommons.org/Considerations_for_licensors
|
||||
|
||||
Considerations for the public: By using one of our public
|
||||
licenses, a licensor grants the public permission to use the
|
||||
licensed material under specified terms and conditions. If
|
||||
the licensor's permission is not necessary for any reason--for
|
||||
example, because of any applicable exception or limitation to
|
||||
copyright--then that use is not regulated by the license. Our
|
||||
licenses grant only permissions under copyright and certain
|
||||
other rights that a licensor has authority to grant. Use of
|
||||
the licensed material may still be restricted for other
|
||||
reasons, including because others have copyright or other
|
||||
rights in the material. A licensor may make special requests,
|
||||
such as asking that all changes be marked or described.
|
||||
Although not required by our licenses, you are encouraged to
|
||||
respect those requests where reasonable. More_considerations
|
||||
for the public:
|
||||
wiki.creativecommons.org/Considerations_for_licensees
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons Attribution 4.0 International Public License
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree
|
||||
to be bound by the terms and conditions of this Creative Commons
|
||||
Attribution 4.0 International Public License ("Public License"). To the
|
||||
extent this Public License may be interpreted as a contract, You are
|
||||
granted the Licensed Rights in consideration of Your acceptance of
|
||||
these terms and conditions, and the Licensor grants You such rights in
|
||||
consideration of benefits the Licensor receives from making the
|
||||
Licensed Material available under these terms and conditions.
|
||||
|
||||
|
||||
Section 1 -- Definitions.
|
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar
|
||||
Rights that is derived from or based upon the Licensed Material
|
||||
and in which the Licensed Material is translated, altered,
|
||||
arranged, transformed, or otherwise modified in a manner requiring
|
||||
permission under the Copyright and Similar Rights held by the
|
||||
Licensor. For purposes of this Public License, where the Licensed
|
||||
Material is a musical work, performance, or sound recording,
|
||||
Adapted Material is always produced where the Licensed Material is
|
||||
synched in timed relation with a moving image.
|
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright
|
||||
and Similar Rights in Your contributions to Adapted Material in
|
||||
accordance with the terms and conditions of this Public License.
|
||||
|
||||
c. Copyright and Similar Rights means copyright and/or similar rights
|
||||
closely related to copyright including, without limitation,
|
||||
performance, broadcast, sound recording, and Sui Generis Database
|
||||
Rights, without regard to how the rights are labeled or
|
||||
categorized. For purposes of this Public License, the rights
|
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar
|
||||
Rights.
|
||||
|
||||
d. Effective Technological Measures means those measures that, in the
|
||||
absence of proper authority, may not be circumvented under laws
|
||||
fulfilling obligations under Article 11 of the WIPO Copyright
|
||||
Treaty adopted on December 20, 1996, and/or similar international
|
||||
agreements.
|
||||
|
||||
e. Exceptions and Limitations means fair use, fair dealing, and/or
|
||||
any other exception or limitation to Copyright and Similar Rights
|
||||
that applies to Your use of the Licensed Material.
|
||||
|
||||
f. Licensed Material means the artistic or literary work, database,
|
||||
or other material to which the Licensor applied this Public
|
||||
License.
|
||||
|
||||
g. Licensed Rights means the rights granted to You subject to the
|
||||
terms and conditions of this Public License, which are limited to
|
||||
all Copyright and Similar Rights that apply to Your use of the
|
||||
Licensed Material and that the Licensor has authority to license.
|
||||
|
||||
h. Licensor means the individual(s) or entity(ies) granting rights
|
||||
under this Public License.
|
||||
|
||||
i. Share means to provide material to the public by any means or
|
||||
process that requires permission under the Licensed Rights, such
|
||||
as reproduction, public display, public performance, distribution,
|
||||
dissemination, communication, or importation, and to make material
|
||||
available to the public including in ways that members of the
|
||||
public may access the material from a place and at a time
|
||||
individually chosen by them.
|
||||
|
||||
j. Sui Generis Database Rights means rights other than copyright
|
||||
resulting from Directive 96/9/EC of the European Parliament and of
|
||||
the Council of 11 March 1996 on the legal protection of databases,
|
||||
as amended and/or succeeded, as well as other essentially
|
||||
equivalent rights anywhere in the world.
|
||||
|
||||
k. You means the individual or entity exercising the Licensed Rights
|
||||
under this Public License. Your has a corresponding meaning.
|
||||
|
||||
|
||||
Section 2 -- Scope.
|
||||
|
||||
a. License grant.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License,
|
||||
the Licensor hereby grants You a worldwide, royalty-free,
|
||||
non-sublicensable, non-exclusive, irrevocable license to
|
||||
exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or
|
||||
in part; and
|
||||
|
||||
b. produce, reproduce, and Share Adapted Material.
|
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where
|
||||
Exceptions and Limitations apply to Your use, this Public
|
||||
License does not apply, and You do not need to comply with
|
||||
its terms and conditions.
|
||||
|
||||
3. Term. The term of this Public License is specified in Section
|
||||
6(a).
|
||||
|
||||
4. Media and formats; technical modifications allowed. The
|
||||
Licensor authorizes You to exercise the Licensed Rights in
|
||||
all media and formats whether now known or hereafter created,
|
||||
and to make technical modifications necessary to do so. The
|
||||
Licensor waives and/or agrees not to assert any right or
|
||||
authority to forbid You from making technical modifications
|
||||
necessary to exercise the Licensed Rights, including
|
||||
technical modifications necessary to circumvent Effective
|
||||
Technological Measures. For purposes of this Public License,
|
||||
simply making modifications authorized by this Section 2(a)
|
||||
(4) never produces Adapted Material.
|
||||
|
||||
5. Downstream recipients.
|
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every
|
||||
recipient of the Licensed Material automatically
|
||||
receives an offer from the Licensor to exercise the
|
||||
Licensed Rights under the terms and conditions of this
|
||||
Public License.
|
||||
|
||||
b. No downstream restrictions. You may not offer or impose
|
||||
any additional or different terms or conditions on, or
|
||||
apply any Effective Technological Measures to, the
|
||||
Licensed Material if doing so restricts exercise of the
|
||||
Licensed Rights by any recipient of the Licensed
|
||||
Material.
|
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or
|
||||
may be construed as permission to assert or imply that You
|
||||
are, or that Your use of the Licensed Material is, connected
|
||||
with, or sponsored, endorsed, or granted official status by,
|
||||
the Licensor or others designated to receive attribution as
|
||||
provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. Other rights.
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not
|
||||
licensed under this Public License, nor are publicity,
|
||||
privacy, and/or other similar personality rights; however, to
|
||||
the extent possible, the Licensor waives and/or agrees not to
|
||||
assert any such rights held by the Licensor to the limited
|
||||
extent necessary to allow You to exercise the Licensed
|
||||
Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this
|
||||
Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to
|
||||
collect royalties from You for the exercise of the Licensed
|
||||
Rights, whether directly or through a collecting society
|
||||
under any voluntary or waivable statutory or compulsory
|
||||
licensing scheme. In all other cases the Licensor expressly
|
||||
reserves any right to collect such royalties.
|
||||
|
||||
|
||||
Section 3 -- License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the
|
||||
following conditions.
|
||||
|
||||
a. Attribution.
|
||||
|
||||
1. If You Share the Licensed Material (including in modified
|
||||
form), You must:
|
||||
|
||||
a. retain the following if it is supplied by the Licensor
|
||||
with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed
|
||||
Material and any others designated to receive
|
||||
attribution, in any reasonable manner requested by
|
||||
the Licensor (including by pseudonym if
|
||||
designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of
|
||||
warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the
|
||||
extent reasonably practicable;
|
||||
|
||||
b. indicate if You modified the Licensed Material and
|
||||
retain an indication of any previous modifications; and
|
||||
|
||||
c. indicate the Licensed Material is licensed under this
|
||||
Public License, and include the text of, or the URI or
|
||||
hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any
|
||||
reasonable manner based on the medium, means, and context in
|
||||
which You Share the Licensed Material. For example, it may be
|
||||
reasonable to satisfy the conditions by providing a URI or
|
||||
hyperlink to a resource that includes the required
|
||||
information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the
|
||||
information required by Section 3(a)(1)(A) to the extent
|
||||
reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's
|
||||
License You apply must not prevent recipients of the Adapted
|
||||
Material from complying with this Public License.
|
||||
|
||||
|
||||
Section 4 -- Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that
|
||||
apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
|
||||
to extract, reuse, reproduce, and Share all or a substantial
|
||||
portion of the contents of the database;
|
||||
|
||||
b. if You include all or a substantial portion of the database
|
||||
contents in a database in which You have Sui Generis Database
|
||||
Rights, then the database in which You have Sui Generis Database
|
||||
Rights (but not its individual contents) is Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share
|
||||
all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not
|
||||
replace Your obligations under this Public License where the Licensed
|
||||
Rights include other Copyright and Similar Rights.
|
||||
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
|
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
|
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
|
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
|
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
|
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
|
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
|
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
|
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
|
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
|
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
|
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
|
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
|
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
|
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
|
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
|
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided
|
||||
above shall be interpreted in a manner that, to the extent
|
||||
possible, most closely approximates an absolute disclaimer and
|
||||
waiver of all liability.
|
||||
|
||||
|
||||
Section 6 -- Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and
|
||||
Similar Rights licensed here. However, if You fail to comply with
|
||||
this Public License, then Your rights under this Public License
|
||||
terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under
|
||||
Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided
|
||||
it is cured within 30 days of Your discovery of the
|
||||
violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any
|
||||
right the Licensor may have to seek remedies for Your violations
|
||||
of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the
|
||||
Licensed Material under separate terms or conditions or stop
|
||||
distributing the Licensed Material at any time; however, doing so
|
||||
will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
|
||||
License.
|
||||
|
||||
|
||||
Section 7 -- Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different
|
||||
terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the
|
||||
Licensed Material not stated herein are separate from and
|
||||
independent of the terms and conditions of this Public License.
|
||||
|
||||
|
||||
Section 8 -- Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and
|
||||
shall not be interpreted to, reduce, limit, restrict, or impose
|
||||
conditions on any use of the Licensed Material that could lawfully
|
||||
be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is
|
||||
deemed unenforceable, it shall be automatically reformed to the
|
||||
minimum extent necessary to make it enforceable. If the provision
|
||||
cannot be reformed, it shall be severed from this Public License
|
||||
without affecting the enforceability of the remaining terms and
|
||||
conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no
|
||||
failure to comply consented to unless expressly agreed to by the
|
||||
Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted
|
||||
as a limitation upon, or waiver of, any privileges and immunities
|
||||
that apply to the Licensor or You, including from the legal
|
||||
processes of any jurisdiction or authority.
|
||||
|
||||
|
||||
=======================================================================
|
||||
|
||||
Creative Commons is not a party to its public
|
||||
licenses. Notwithstanding, Creative Commons may elect to apply one of
|
||||
its public licenses to material it publishes and in those instances
|
||||
will be considered the “Licensor.” The text of the Creative Commons
|
||||
public licenses is dedicated to the public domain under the CC0 Public
|
||||
Domain Dedication. Except for the limited purpose of indicating that
|
||||
material is shared under a Creative Commons public license or as
|
||||
otherwise permitted by the Creative Commons policies published at
|
||||
creativecommons.org/policies, Creative Commons does not authorize the
|
||||
use of the trademark "Creative Commons" or any other trademark or logo
|
||||
of Creative Commons without its prior written consent including,
|
||||
without limitation, in connection with any unauthorized modifications
|
||||
to any of its public licenses or any other arrangements,
|
||||
understandings, or agreements concerning use of licensed material. For
|
||||
the avoidance of doubt, this paragraph does not form part of the
|
||||
public licenses.
|
||||
|
||||
Creative Commons may be contacted at creativecommons.org.
|
||||
5
lisp/company/icons/attribution.md
Normal file
@@ -0,0 +1,5 @@
|
||||
The icons in this directory have been made by "Microsoft and any contributors",
|
||||
see the [development repository](https://github.com/microsoft/vscode-icons/).
|
||||
|
||||
They are distributed under Creative Commons Attribution 4.0 International Public
|
||||
License, see the LICENSE file in this directory.
|
||||
3
lisp/company/icons/vscode-dark/folder.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.5 3H7.70996L6.85999 2.15002L6.51001 2H1.51001L1.01001 2.5V6.5V13.5L1.51001 14H14.51L15.01 13.5V9V3.5L14.5 3ZM13.99 11.49V13H1.98999V11.49V7.48999V7H6.47998L6.82996 6.84998L7.68994 5.98999H14V7.48999L13.99 11.49ZM13.99 5H7.48999L7.14001 5.15002L6.28003 6.01001H2V3.01001H6.29004L7.14001 3.85999L7.5 4.01001H14L13.99 5Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 451 B |
3
lisp/company/icons/vscode-dark/references.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.1052 4.5613L7.67505 7.98827L6.54072 6.86834L8.61098 4.78848H3.81131C3.17483 4.78848 2.56442 5.04132 2.11436 5.49138C1.6643 5.94144 1.41147 6.55184 1.41147 7.18832C1.41147 7.8248 1.6643 8.43521 2.11436 8.88527C2.56442 9.33532 3.17483 9.58816 3.81131 9.58816H4.70085V11.1881H3.8209C2.7921 11.142 1.8207 10.7009 1.10896 9.95661C0.397222 9.21231 0 8.22216 0 7.19232C0 6.16249 0.397222 5.17234 1.10896 4.42803C1.8207 3.68373 2.7921 3.24263 3.8209 3.19659H8.62058L6.54072 1.13112L7.67505 0L11.1052 3.43177V4.5613ZM16.6201 24H7.0207L6.22075 23.2V10.4121L7.0207 9.61215H16.6201L17.42 10.4121V23.2L16.6201 24ZM7.82064 22.4001H15.8201V11.212H7.82064V22.4001ZM13.4203 1.6015H23.0196L23.8196 2.40145V15.1878L23.0196 15.9877H19.0199V14.3878H22.2197V3.20139H14.2202V7.98828H12.6203V2.40145L13.4203 1.6015ZM14.2202 12.7879H9.42053V14.3878H14.2202V12.7879ZM9.42053 15.9877H14.2202V17.5876H9.42053V15.9877ZM14.2202 19.1875H9.42053V20.7874H14.2202V19.1875ZM15.8201 4.78848H20.6198V6.38838H15.8201V4.78848ZM20.6198 11.188H19.0199V12.7879H20.6198V11.188ZM17.2824 8.01228V7.98828H20.6198V9.58817H18.8583L17.2824 8.01228Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
3
lisp/company/icons/vscode-dark/symbol-array.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2L1 2.5V13.5L1.5 14H4V13H2V3H4V2H1.5ZM14.5 14L15 13.5L15 2.5L14.5 2H12V3L14 3L14 13H12V14H14.5Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 271 B |
3
lisp/company/icons/vscode-dark/symbol-boolean.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 3.5L1.5 3H14.5L15 3.5L15 12.5L14.5 13H1.5L1 12.5V3.5ZM14 4H8L8 7.49297L7.89793 7.49285L7.5 7.49225V7.49237L3.92614 7.48807L6.01638 5.39784L5.30927 4.69073L2.35356 7.64645L2.35356 8.35355L5.30927 11.3093L6.01638 10.6022L3.90228 8.48807L7.8976 8.49285L8 8.493V7.50702L11.9073 7.51222L9.79289 5.39784L10.5 4.69073L13.4557 7.64645V8.35355L10.5 11.3093L9.79289 10.6022L11.8828 8.51222L8 8.50702V12H14V4Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 572 B |
3
lisp/company/icons/vscode-dark/symbol-class.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.34 9.70998H12.05L14.72 7.04005V6.32997L13.38 5.00001H12.68L10.86 6.81007H5.86V5.56007L7.71999 3.70997V3L5.71998 1H5.00001L1 5.00001V5.70997L3 7.70998H3.71003L4.84998 6.56007V12.35L5.34998 12.85H10V13.37L11.33 14.71H12.04L14.7101 12.0401V11.33L13.37 10H12.67L10.81 11.85H5.81001V7.84999H10V8.32997L11.34 9.70998ZM13.0301 6.06007L13.66 6.68995L11.66 8.68996L11.0301 8.06007L13.0301 6.06007ZM13.0301 11.0601L13.66 11.69L11.66 13.69L11.0301 13.0601L13.0301 11.0601ZM3.34998 6.65004L2.06 5.34998L5.34998 2.06006L6.65004 3.34998L3.34998 6.65004Z" fill="#EE9D28"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 674 B |
3
lisp/company/icons/vscode-dark/symbol-color.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 1.00305C6.14348 1.00305 4.36299 1.74059 3.05023 3.05334C1.73748 4.3661 1 6.14654 1 8.00305V8.43311C1.09 9.94311 2.91 10.2231 4 9.13306C4.35648 8.81625 4.82054 8.64759 5.29724 8.66162C5.77395 8.67565 6.22729 8.87127 6.56451 9.2085C6.90174 9.54572 7.09736 9.99912 7.11139 10.4758C7.12542 10.9525 6.95682 11.4166 6.64001 11.7731C5.54001 12.9331 5.85 14.843 7.44 14.973H8.03998C9.89649 14.973 11.677 14.2356 12.9897 12.9229C14.3025 11.6101 15.04 9.82954 15.04 7.97302C15.04 6.11651 14.3025 4.33607 12.9897 3.02332C11.677 1.71056 9.89649 0.973022 8.03998 0.973022L8 1.00305ZM8 14.0031H7.47998C7.34751 13.9989 7.22047 13.9495 7.12 13.863C7.04052 13.7807 6.98815 13.6761 6.96997 13.5631C6.9381 13.3682 6.95328 13.1684 7.01416 12.9806C7.07504 12.7927 7.17989 12.6222 7.32001 12.483C7.84048 11.9474 8.13165 11.2299 8.13165 10.483C8.13165 9.73615 7.84048 9.0187 7.32001 8.48303C7.05348 8.21635 6.73699 8.00481 6.38867 7.86047C6.04036 7.71614 5.66702 7.64185 5.28998 7.64185C4.91294 7.64185 4.5396 7.71614 4.19128 7.86047C3.84297 8.00481 3.52654 8.21635 3.26001 8.48303C3.15068 8.61081 3.01089 8.709 2.85358 8.76843C2.69626 8.82786 2.52649 8.84657 2.35999 8.823C2.27593 8.80694 2.19903 8.76498 2.14001 8.703C2.07131 8.6224 2.03556 8.5189 2.03998 8.41309V8.04309C2.03998 6.8564 2.39192 5.69629 3.05121 4.70959C3.7105 3.7229 4.64754 2.95388 5.7439 2.49976C6.84025 2.04563 8.04669 1.92681 9.21057 2.15833C10.3745 2.38984 11.4435 2.9613 12.2827 3.80042C13.1218 4.63953 13.6932 5.70867 13.9247 6.87256C14.1562 8.03644 14.0374 9.24275 13.5833 10.3391C13.1291 11.4355 12.3601 12.3726 11.3734 13.0319C10.3867 13.6911 9.22667 14.0431 8.03998 14.0431L8 14.0031ZM9 3.99683C9 4.54911 8.55228 4.99683 8 4.99683C7.44771 4.99683 7 4.54911 7 3.99683C7 3.44454 7.44771 2.99683 8 2.99683C8.55228 2.99683 9 3.44454 9 3.99683ZM12 11.0037C12 11.5559 11.5523 12.0037 11 12.0037C10.4477 12.0037 10 11.5559 10 11.0037C10 10.4514 10.4477 10.0037 11 10.0037C11.5523 10.0037 12 10.4514 12 11.0037ZM5 6.00415C5.55229 6.00415 6 5.55644 6 5.00415C6 4.45187 5.55229 4.00415 5 4.00415C4.44772 4.00415 4 4.45187 4 5.00415C4 5.55644 4.44772 6.00415 5 6.00415ZM12 5.00415C12 5.55644 11.5523 6.00415 11 6.00415C10.4477 6.00415 10 5.55644 10 5.00415C10 4.45187 10.4477 4.00415 11 4.00415C11.5523 4.00415 12 4.45187 12 5.00415ZM13.0001 7.99939C13.0001 8.55167 12.5524 8.99939 12.0001 8.99939C11.4478 8.99939 11.0001 8.55167 11.0001 7.99939C11.0001 7.4471 11.4478 6.99939 12.0001 6.99939C12.5524 6.99939 13.0001 7.4471 13.0001 7.99939Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
4
lisp/company/icons/vscode-dark/symbol-constant.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 6H12V7H4V6ZM12 9H4V10H12V9Z" fill="#C5C5C5"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 4L2 3H14L15 4V12L14 13H2L1 12V4ZM2 4V12H14V4H2Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 319 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 3L8 2H14L15 3V8L14 9H10V8H14V3H8V6H7V3ZM9 9V8L8 7H7H2L1 8V13L2 14H8L9 13V9ZM8 8V9V13H2V8H7H8ZM9.41421 7L9 6.58579V6H13V7H9.41421ZM9 4H13V5H9V4ZM7 10H3V11H7V10Z" fill="#75BEFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 333 B |
3
lisp/company/icons/vscode-dark/symbol-enumerator.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14 2H8L7 3V6H8V3H14V8H10V9H14L15 8V3L14 2ZM9 6H13V7H9.41L9 6.59V6ZM7 7H2L1 8V13L2 14H8L9 13V8L8 7H7ZM8 13H2V8H8V9V13ZM3 9H7V10H3V9ZM3 11H7V12H3V11ZM9 4H13V5H9V4Z" fill="#EE9D28"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 333 B |
3
lisp/company/icons/vscode-dark/symbol-event.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.41354 1.55996L8.31152 1H11.6056L12.424 2.57465L10.2356 6H12.0174L12.7363 7.69512L5.61943 15L4.01675 13.837L6.11943 10H4.89798L4 8.55996L7.41354 1.55996ZM7.78033 9L4.90054 14.3049L12.0174 7H8.31152L11.6056 2H8.31152L4.89798 9H7.78033Z" fill="#EE9D28"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 407 B |
3
lisp/company/icons/vscode-dark/symbol-field.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.45 4.5L9.44995 2H8.55005L1.55005 5.5L1 6.39001V10.89L1.55005 11.79L6.55005 14.29H7.44995L14.45 10.79L15 9.89001V5.39001L14.45 4.5ZM6.44995 13.14L1.94995 10.89V7.17004L6.44995 9.17004V13.14ZM6.94995 8.33997L2.29004 6.22998L8.94995 2.89001L13.62 5.22998L6.94995 8.33997ZM13.95 9.89001L7.44995 13.14V9.20996L13.95 6.20996V9.89001Z" fill="#75BEFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 462 B |
3
lisp/company/icons/vscode-dark/symbol-file.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.85 4.44L10.57 1.14L10.22 1H2.5L2 1.5V14.5L2.5 15H13.5L14 14.5V4.8L13.85 4.44ZM13 5H10V2L13 5ZM3 14V2H9V5.5L9.5 6H13V14H3Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 255 B |
3
lisp/company/icons/vscode-dark/symbol-interface.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.4965 4C10.655 3.9989 9.84136 4.30189 9.20557 4.85315C8.56977 5.40442 8.15465 6.16684 8.0365 7H4.9364C4.8147 6.52867 4.52533 6.11794 4.12244 5.84473C3.71955 5.57152 3.23083 5.45466 2.74792 5.51599C2.26502 5.57733 1.82106 5.81261 1.49927 6.17786C1.17747 6.54311 1 7.01322 1 7.5C1 7.98679 1.17747 8.45689 1.49927 8.82215C1.82106 9.1874 2.26502 9.42267 2.74792 9.48401C3.23083 9.54535 3.71955 9.42848 4.12244 9.15528C4.52533 8.88207 4.8147 8.47133 4.9364 8H8.0365C8.13236 8.66418 8.41717 9.28683 8.85693 9.7937C9.2967 10.3006 9.87284 10.6703 10.5168 10.8589C11.1609 11.0475 11.8455 11.047 12.4893 10.8574C13.133 10.6679 13.7087 10.2973 14.1477 9.7898C14.5867 9.28227 14.8706 8.65919 14.9655 7.99488C15.0603 7.33056 14.9621 6.65298 14.6827 6.04285C14.4034 5.43272 13.9545 4.91578 13.3895 4.55359C12.8246 4.19141 12.1675 3.99922 11.4965 4V4ZM11.4965 10C11.002 10 10.5187 9.85332 10.1075 9.57862C9.69642 9.30391 9.37599 8.91348 9.18677 8.45667C8.99755 7.99985 8.94809 7.49728 9.04456 7.01233C9.14102 6.52738 9.37901 6.08181 9.72864 5.73218C10.0783 5.38255 10.5238 5.14456 11.0088 5.0481C11.4937 4.95164 11.9963 5.00109 12.4531 5.19031C12.9099 5.37953 13.3004 5.69996 13.5751 6.11109C13.8498 6.52221 13.9965 7.00555 13.9965 7.5C13.9965 8.16304 13.7331 8.79898 13.2643 9.26783C12.7954 9.73667 12.1595 10 11.4965 10V10Z" fill="#75BEFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
lisp/company/icons/vscode-dark/symbol-key.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.22289 10.933C7.54863 11.1254 7.92163 11.2231 8.29989 11.215C8.63777 11.2218 8.97254 11.1492 9.27721 11.003C9.58188 10.8567 9.84792 10.6409 10.0539 10.373C10.5091 9.76519 10.7402 9.01867 10.7079 8.25998C10.7412 7.58622 10.5374 6.9221 10.1319 6.38298C9.93575 6.14161 9.68577 5.94957 9.402 5.82228C9.11824 5.69498 8.80858 5.63597 8.49789 5.64997C8.07522 5.64699 7.65994 5.76085 7.29789 5.97898C7.18304 6.04807 7.0749 6.12775 6.97489 6.21698V3.47498H5.98389V11.1H6.97889V10.756C7.05516 10.8217 7.13677 10.8809 7.22289 10.933ZM7.84981 6.70006C8.03598 6.62105 8.23807 6.58677 8.43989 6.59998C8.61257 6.59452 8.78404 6.63054 8.93994 6.70501C9.09583 6.77948 9.23161 6.89023 9.33589 7.02798C9.59253 7.39053 9.7184 7.82951 9.69289 8.27297C9.71972 8.79748 9.57969 9.31701 9.29289 9.75698C9.18822 9.91527 9.04546 10.0447 8.87773 10.1335C8.70999 10.2223 8.52264 10.2675 8.33289 10.265C8.14934 10.2732 7.9663 10.24 7.79734 10.1678C7.62838 10.0956 7.47784 9.98628 7.35689 9.84797C7.10152 9.55957 6.96501 9.18506 6.97489 8.79998V8.19998C6.96299 7.78332 7.10263 7.3765 7.36789 7.05498C7.49858 6.90064 7.66364 6.77908 7.84981 6.70006ZM3.28902 5.67499C2.97011 5.67933 2.65388 5.734 2.35202 5.83699C2.06417 5.92293 1.79347 6.05828 1.55202 6.23699L1.45202 6.31399V7.51399L1.87502 7.15499C2.24579 6.80478 2.73133 6.60146 3.24102 6.58299C3.36593 6.57164 3.4917 6.59147 3.60706 6.64068C3.72243 6.6899 3.82377 6.76697 3.90202 6.86499C4.0522 7.0971 4.13239 7.36754 4.13302 7.64399L2.90002 7.82499C2.39435 7.87781 1.91525 8.07772 1.52202 8.39999C1.36697 8.55181 1.24339 8.73271 1.15835 8.93235C1.07331 9.13199 1.02848 9.34644 1.02644 9.56343C1.0244 9.78042 1.06517 9.99568 1.14644 10.1969C1.2277 10.3981 1.34786 10.5813 1.50002 10.736C1.6687 10.8904 1.86622 11.01 2.08125 11.0879C2.29627 11.1659 2.52456 11.2005 2.75302 11.19C3.147 11.1931 3.53278 11.0774 3.86002 10.858C3.96153 10.7897 4.0572 10.7131 4.14602 10.629V11.073H5.08702V7.71499C5.12137 7.17422 4.9543 6.63988 4.61802 6.21499C4.44979 6.03285 4.24348 5.89003 4.01378 5.7967C3.78407 5.70336 3.53661 5.66181 3.28902 5.67499ZM4.14602 8.71599C4.16564 9.13435 4.02592 9.54459 3.75502 9.864C3.63689 10.0005 3.48998 10.1092 3.32486 10.1821C3.15973 10.2551 2.98049 10.2906 2.80002 10.286C2.69049 10.2945 2.58035 10.2812 2.47599 10.2469C2.37163 10.2125 2.27511 10.1579 2.19202 10.086C2.06079 9.93455 1.98856 9.74088 1.98856 9.54049C1.98856 9.34011 2.06079 9.14644 2.19202 8.99499C2.47322 8.82131 2.79233 8.71837 3.12202 8.69499L4.14202 8.54699L4.14602 8.71599ZM12.4588 11.0325C12.766 11.1638 13.0983 11.2261 13.4322 11.215C13.927 11.227 14.4153 11.1006 14.8422 10.85L14.9652 10.775L14.9782 10.768V9.61504L14.5322 9.93504C14.216 10.1592 13.8356 10.2747 13.4482 10.264C13.2497 10.2719 13.052 10.2342 12.8703 10.1538C12.6886 10.0733 12.5278 9.95232 12.4002 9.80004C12.1144 9.42453 11.9725 8.95911 12.0002 8.48804C11.9737 7.98732 12.1352 7.49475 12.4532 7.10704C12.5934 6.94105 12.7695 6.80914 12.9682 6.7213C13.167 6.63346 13.3831 6.592 13.6002 6.60004C13.9439 6.59844 14.2808 6.69525 14.5712 6.87904L15.0002 7.14404V5.97004L14.8312 5.89704C14.4626 5.73432 14.0641 5.6502 13.6612 5.65004C13.2999 5.63991 12.9406 5.70762 12.6078 5.84859C12.2749 5.98956 11.9763 6.20048 11.7322 6.46704C11.2261 7.02683 10.9581 7.76186 10.9852 8.51604C10.9567 9.22346 11.1955 9.91569 11.6542 10.455C11.8769 10.704 12.1516 10.9012 12.4588 11.0325Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
3
lisp/company/icons/vscode-dark/symbol-keyword.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15 4H10V3H15V4ZM14 7H12V8H14V7ZM10 7H1V8H10V7ZM12 13H1V14H12V13ZM7 10H1V11H7V10ZM15 10H10V11H15V10ZM8 2V5H1V2H8ZM7 3H2V4H7V3Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 257 B |
3
lisp/company/icons/vscode-dark/symbol-method.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.51 4L8.51001 1H7.51001L2.51001 4L2.02002 4.85999V10.86L2.51001 11.71L7.51001 14.71H8.51001L13.51 11.71L14 10.86V4.85999L13.51 4ZM7.51001 13.5601L3.01001 10.86V5.69995L7.51001 8.15002V13.5601ZM3.27002 4.69995L8.01001 1.85999L12.75 4.69995L8.01001 7.29004L3.27002 4.69995ZM13.01 10.86L8.51001 13.5601V8.15002L13.01 5.69995V10.86Z" fill="#B180D7"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 462 B |
3
lisp/company/icons/vscode-dark/symbol-misc.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 2H12V6C12.3415 6.03511 12.6774 6.11234 13 6.22998V1H3V9.47998L4 7.72998V2ZM6.14001 10L5 8L4 9.75L3.29004 11L1 15H9L6.70996 11L6.14001 10ZM2.71997 14L4.43994 11L5 10L5.56006 11L7.28003 14H2.71997ZM9.55552 7.58984C10.1311 7.20526 10.8077 7 11.5 7C12.4282 7 13.3185 7.36877 13.9748 8.02515C14.6312 8.68152 15 9.57174 15 10.5C15 11.1922 14.7947 11.8689 14.4101 12.4445C14.0256 13.02 13.4789 13.4686 12.8393 13.7335C12.1998 13.9984 11.4961 14.0678 10.8171 13.9327C10.1382 13.7977 9.51461 13.4643 9.02513 12.9749C8.53564 12.4854 8.20229 11.8618 8.06724 11.1829C7.93219 10.5039 8.00155 9.80019 8.26646 9.16064C8.53137 8.5211 8.97995 7.97443 9.55552 7.58984ZM10.1111 12.5786C10.5222 12.8533 11.0055 13 11.5 13C12.163 13 12.799 12.7367 13.2678 12.2678C13.7366 11.799 14 11.163 14 10.5C14 10.0055 13.8533 9.52221 13.5786 9.11108C13.3039 8.69996 12.9135 8.37953 12.4566 8.19031C11.9998 8.00109 11.4973 7.95163 11.0123 8.0481C10.5274 8.14456 10.0818 8.38255 9.73216 8.73218C9.38253 9.08181 9.14454 9.52738 9.04808 10.0123C8.95161 10.4973 9.00107 10.9998 9.19029 11.4567C9.37951 11.9135 9.69994 12.3039 10.1111 12.5786Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
3
lisp/company/icons/vscode-dark/symbol-namespace.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 2.98361V2.97184V2H5.91083C5.59743 2 5.29407 2.06161 5.00128 2.18473C4.70818 2.30798 4.44942 2.48474 4.22578 2.71498C4.00311 2.94422 3.83792 3.19498 3.73282 3.46766L3.73233 3.46898C3.63382 3.7352 3.56814 4.01201 3.53533 4.29917L3.53519 4.30053C3.50678 4.5805 3.4987 4.86844 3.51084 5.16428C3.52272 5.45379 3.52866 5.74329 3.52866 6.03279C3.52866 6.23556 3.48974 6.42594 3.412 6.60507L3.4116 6.60601C3.33687 6.78296 3.23423 6.93866 3.10317 7.07359C2.97644 7.20405 2.82466 7.31055 2.64672 7.3925C2.4706 7.46954 2.28497 7.5082 2.08917 7.5082H2V7.6V8.4V8.4918H2.08917C2.28465 8.4918 2.47001 8.53238 2.64601 8.61334L2.64742 8.61396C2.82457 8.69157 2.97577 8.79762 3.10221 8.93161L3.10412 8.93352C3.23428 9.0637 3.33659 9.21871 3.41129 9.39942L3.41201 9.40108C3.48986 9.58047 3.52866 9.76883 3.52866 9.96721C3.52866 10.2567 3.52272 10.5462 3.51084 10.8357C3.4987 11.1316 3.50677 11.4215 3.53516 11.7055L3.53535 11.7072C3.56819 11.9903 3.63387 12.265 3.73232 12.531L3.73283 12.5323C3.83793 12.805 4.00311 13.0558 4.22578 13.285C4.44942 13.5153 4.70818 13.692 5.00128 13.8153C5.29407 13.9384 5.59743 14 5.91083 14H6V13.2V13.0164H5.91083C5.71095 13.0164 5.52346 12.9777 5.34763 12.9008C5.17396 12.8191 5.02194 12.7126 4.89086 12.5818C4.76386 12.4469 4.66104 12.2911 4.58223 12.1137C4.50838 11.9346 4.47134 11.744 4.47134 11.541C4.47134 11.3127 4.4753 11.0885 4.48321 10.8686C4.49125 10.6411 4.49127 10.4195 4.48324 10.2039C4.47914 9.98246 4.46084 9.76883 4.42823 9.56312C4.39513 9.35024 4.33921 9.14757 4.26039 8.95536C4.18091 8.76157 4.07258 8.57746 3.93616 8.40298C3.82345 8.25881 3.68538 8.12462 3.52283 8C3.68538 7.87538 3.82345 7.74119 3.93616 7.59702C4.07258 7.42254 4.18091 7.23843 4.26039 7.04464C4.33913 6.85263 4.39513 6.65175 4.42826 6.44285C4.46082 6.2333 4.47914 6.01973 4.48324 5.80219C4.49127 5.58262 4.49125 5.36105 4.48321 5.13749C4.4753 4.9134 4.47134 4.68725 4.47134 4.45902C4.47134 4.26019 4.50833 4.07152 4.58238 3.89205C4.66135 3.71034 4.76421 3.55475 4.89086 3.42437C5.02193 3.28942 5.17461 3.18275 5.34802 3.10513C5.5238 3.02427 5.71113 2.98361 5.91083 2.98361H6ZM10 13.0164V13.0282V14H10.0892C10.4026 14 10.7059 13.9384 10.9987 13.8153C11.2918 13.692 11.5506 13.5153 11.7742 13.285C11.9969 13.0558 12.1621 12.805 12.2672 12.5323L12.2677 12.531C12.3662 12.2648 12.4319 11.988 12.4647 11.7008L12.4648 11.6995C12.4932 11.4195 12.5013 11.1316 12.4892 10.8357C12.4773 10.5462 12.4713 10.2567 12.4713 9.96721C12.4713 9.76444 12.5103 9.57406 12.588 9.39493L12.5884 9.39399C12.6631 9.21704 12.7658 9.06134 12.8968 8.92642C13.0236 8.79595 13.1753 8.68945 13.3533 8.6075C13.5294 8.53046 13.715 8.4918 13.9108 8.4918H14V8.4V7.6V7.5082H13.9108C13.7153 7.5082 13.53 7.46762 13.354 7.38666L13.3526 7.38604C13.1754 7.30844 13.0242 7.20238 12.8978 7.06839L12.8959 7.06648C12.7657 6.9363 12.6634 6.78129 12.5887 6.60058L12.588 6.59892C12.5101 6.41953 12.4713 6.23117 12.4713 6.03279C12.4713 5.74329 12.4773 5.45379 12.4892 5.16428C12.5013 4.86842 12.4932 4.57848 12.4648 4.29454L12.4646 4.29285C12.4318 4.00971 12.3661 3.73502 12.2677 3.46897L12.2672 3.46766C12.1621 3.19499 11.9969 2.94422 11.7742 2.71498C11.5506 2.48474 11.2918 2.30798 10.9987 2.18473C10.7059 2.06161 10.4026 2 10.0892 2H10V2.8V2.98361H10.0892C10.2891 2.98361 10.4765 3.0223 10.6524 3.09917C10.826 3.18092 10.9781 3.28736 11.1091 3.41823C11.2361 3.55305 11.339 3.70889 11.4178 3.88628C11.4916 4.0654 11.5287 4.25596 11.5287 4.45902C11.5287 4.68727 11.5247 4.91145 11.5168 5.13142C11.5088 5.35894 11.5087 5.58049 11.5168 5.79605C11.5209 6.01754 11.5392 6.23117 11.5718 6.43688C11.6049 6.64976 11.6608 6.85243 11.7396 7.04464C11.8191 7.23843 11.9274 7.42254 12.0638 7.59702C12.1765 7.74119 12.3146 7.87538 12.4772 8C12.3146 8.12462 12.1765 8.25881 12.0638 8.40298C11.9274 8.57746 11.8191 8.76157 11.7396 8.95536C11.6609 9.14737 11.6049 9.34825 11.5717 9.55715C11.5392 9.7667 11.5209 9.98027 11.5168 10.1978C11.5087 10.4174 11.5087 10.6389 11.5168 10.8625C11.5247 11.0866 11.5287 11.3128 11.5287 11.541C11.5287 11.7398 11.4917 11.9285 11.4176 12.1079C11.3386 12.2897 11.2358 12.4452 11.1091 12.5756C10.9781 12.7106 10.8254 12.8173 10.652 12.8949C10.4762 12.9757 10.2889 13.0164 10.0892 13.0164H10Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
3
lisp/company/icons/vscode-dark/symbol-numeric.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 1V5H15V6H11L11 10H15V11H11V15H10V11H6V15H5L5 11H1V10H5L5 6H1V5H5L5 1H6V5H10V1H11ZM6 6L6 10H10L10 6H6Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 276 B |
3
lisp/company/icons/vscode-dark/symbol-operator.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.87289 1.10023C3.20768 1.23579 3.47545 1.498 3.61802 1.82988C3.69032 1.99959 3.72675 2.18242 3.72502 2.36688C3.72617 2.54999 3.68975 2.7314 3.61802 2.89988C3.51299 3.14567 3.33782 3.35503 3.11442 3.50177C2.89102 3.64851 2.6293 3.72612 2.36202 3.72488C2.17924 3.72592 1.99818 3.68951 1.83002 3.61788C1.58298 3.51406 1.37227 3.33932 1.22453 3.11575C1.0768 2.89219 0.998666 2.62984 1.00002 2.36188C0.99913 2.17921 1.03519 1.99825 1.10602 1.82988C1.24337 1.50314 1.50328 1.24323 1.83002 1.10588C2.16332 0.966692 2.53809 0.964661 2.87289 1.10023ZM2.57502 2.86488C2.7054 2.80913 2.80927 2.70526 2.86502 2.57488C2.8929 2.50838 2.90718 2.43698 2.90702 2.36488C2.90813 2.2654 2.88215 2.1675 2.83185 2.08167C2.78156 1.99584 2.70884 1.92531 2.62151 1.87767C2.53418 1.83002 2.43553 1.80705 2.33614 1.81121C2.23674 1.81537 2.14035 1.8465 2.05731 1.90128C1.97426 1.95606 1.9077 2.03241 1.86475 2.12215C1.8218 2.21188 1.80409 2.31161 1.81352 2.41065C1.82294 2.50968 1.85915 2.60428 1.91825 2.6843C1.97736 2.76433 2.05713 2.82675 2.14902 2.86488C2.28549 2.92089 2.43854 2.92089 2.57502 2.86488ZM6.42995 1.1095L1.10967 6.42977L1.79557 7.11567L7.11584 1.7954L6.42995 1.1095ZM11.5 8.99999H12.5V11.5H15V12.5H12.5V15H11.5V12.5H9V11.5H11.5V8.99999ZM5.76777 9.52509L6.47487 10.2322L4.70711 12L6.47487 13.7677L5.76777 14.4748L4 12.7071L2.23223 14.4748L1.52513 13.7677L3.29289 12L1.52513 10.2322L2.23223 9.52509L4 11.2929L5.76777 9.52509ZM7.11802 5.32988C7.01442 5.08268 6.83973 4.87183 6.61612 4.72406C6.3925 4.57629 6.13004 4.49826 5.86202 4.49988C5.67935 4.49899 5.49839 4.53505 5.33002 4.60588C5.00328 4.74323 4.74337 5.00314 4.60602 5.32988C4.53588 5.49478 4.49897 5.67191 4.49741 5.8511C4.49586 6.0303 4.52967 6.20804 4.59693 6.37414C4.66419 6.54024 4.76356 6.69143 4.88936 6.81906C5.01516 6.94669 5.1649 7.04823 5.33002 7.11788C5.49867 7.18848 5.67968 7.22484 5.86252 7.22484C6.04535 7.22484 6.22636 7.18848 6.39502 7.11788C6.64201 7.01388 6.8527 6.83913 7.00058 6.61563C7.14845 6.39213 7.22689 6.12987 7.22602 5.86188C7.22655 5.67905 7.1898 5.49803 7.11802 5.32988ZM6.36502 6.07488C6.33766 6.13937 6.29829 6.19808 6.24902 6.24788C6.19908 6.29724 6.14042 6.33691 6.07602 6.36488C6.00854 6.39297 5.93611 6.40725 5.86302 6.40688C5.78991 6.40744 5.71744 6.39315 5.65002 6.36488C5.58541 6.33729 5.52668 6.29757 5.47702 6.24788C5.42691 6.19856 5.38713 6.13975 5.36002 6.07488C5.30401 5.9384 5.30401 5.78536 5.36002 5.64888C5.41536 5.51846 5.51941 5.41477 5.65002 5.35988C5.71737 5.33126 5.78984 5.31663 5.86302 5.31688C5.93618 5.31685 6.0086 5.33147 6.07602 5.35988C6.14037 5.38749 6.19904 5.42682 6.24902 5.47588C6.29786 5.52603 6.33717 5.58465 6.36502 5.64888C6.3934 5.7163 6.40802 5.78872 6.40802 5.86188C6.40802 5.93503 6.3934 6.00745 6.36502 6.07488ZM14 3H10V4H14V3Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
3
lisp/company/icons/vscode-dark/symbol-parameter.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11 6H10V5.5C10 5.22386 9.77616 5 9.50001 5H8.47902V10.5C8.47902 10.7761 8.70288 11 8.97902 11H9.47902V12H6.47902V11H6.97902C7.25516 11 7.47902 10.7761 7.47902 10.5V5H6.50001C6.22387 5 6.00001 5.22386 6.00001 5.5V6H5.00001V4H11V6ZM13.9142 8.0481L12.4519 6.58581L13.159 5.87871L14.9749 7.69454V8.40165L13.2071 10.1694L12.5 9.46231L13.9142 8.0481ZM3.5481 9.4623L2.08581 8.00002L3.50002 6.58581L2.79291 5.8787L1.02515 7.64647V8.35357L2.841 10.1694L3.5481 9.4623Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 630 B |
3
lisp/company/icons/vscode-dark/symbol-property.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.80723 14.9754C2.57119 14.9721 2.33826 14.9211 2.12247 14.8254C1.90667 14.7297 1.71248 14.5913 1.55158 14.4186C1.2385 14.1334 1.04433 13.7408 1.00775 13.3189C0.966225 12.8828 1.09269 12.4473 1.36133 12.1013C2.56779 10.8289 4.9473 8.4494 6.67811 6.75479C6.30983 5.75887 6.32704 4.66127 6.72637 3.67739C7.05474 2.85876 7.63869 2.16805 8.39129 1.70807C8.9817 1.31706 9.66031 1.07944 10.3657 1.01673C11.0711 0.954022 11.7809 1.06819 12.4311 1.34892L13.0482 1.6162L10.1824 4.56738L11.4371 5.82582L14.3809 2.94887L14.6482 3.56788C14.8735 4.08976 14.993 4.65119 14.9997 5.21961C15.0064 5.78802 14.9002 6.35211 14.6872 6.87915C14.476 7.40029 14.1623 7.87368 13.7647 8.27122C13.5394 8.49169 13.2904 8.68653 13.0222 8.85218C12.4673 9.22275 11.8324 9.45636 11.1697 9.5338C10.5069 9.61124 9.83521 9.5303 9.20982 9.29764C8.11194 10.4113 5.37142 13.1704 3.89119 14.5522C3.59426 14.8219 3.20832 14.9726 2.80723 14.9754ZM10.7448 1.92802C10.087 1.92637 9.44359 2.12018 8.89614 2.48485C8.68265 2.6152 8.48437 2.76897 8.30498 2.9433C7.82789 3.42423 7.50926 4.03953 7.39182 4.70669C7.27438 5.37385 7.36374 6.06098 7.64792 6.67591L7.78342 6.97288L7.55048 7.20025C5.81224 8.89672 3.28146 11.4201 2.06479 12.7045C1.95646 12.8658 1.91012 13.0608 1.93435 13.2535C1.95857 13.4463 2.05171 13.6238 2.19657 13.7532C2.28005 13.8462 2.38177 13.9211 2.49541 13.9731C2.59557 14.0184 2.70383 14.043 2.81373 14.0455C2.98064 14.0413 3.14044 13.977 3.26383 13.8646C4.83687 12.3964 7.87622 9.32641 8.76807 8.42435L8.9973 8.19326L9.29242 8.32783C9.80617 8.56732 10.3731 8.66985 10.9382 8.62545C11.5033 8.58106 12.0473 8.39125 12.5174 8.07447C12.7313 7.9426 12.9296 7.78694 13.1085 7.61045C13.4183 7.30153 13.6631 6.93374 13.8286 6.52874C13.994 6.12375 14.0767 5.68974 14.0719 5.25228C14.0719 5.03662 14.0505 4.82148 14.0078 4.61007L11.4306 7.12508L8.87944 4.57759L11.3944 1.98834C11.1804 1.94674 10.9628 1.92653 10.7448 1.92802Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
3
lisp/company/icons/vscode-dark/symbol-ruler.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 1L3 2V14L4 15H12L13 14V2L12 1H4ZM4 3V2H12V14H4V13H6V12H4V10H8V9H4V7H6V6H4V4H8V3H4Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 256 B |
3
lisp/company/icons/vscode-dark/symbol-snippet.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.5 1L2 1.5V13H3V2H14V13H15V1.5L14.5 1H2.5ZM2 15V14H3V15H2ZM5 14.0001H4V15.0001H5V14.0001ZM6 14.0001H7V15.0001H6V14.0001ZM9 14.0001H8V15.0001H9V14.0001ZM10 14.0001H11V15.0001H10V14.0001ZM15 15.0001V14.0001H14V15.0001H15ZM12 14.0001H13V15.0001H12V14.0001Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 426 B |
3
lisp/company/icons/vscode-dark/symbol-string.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 2L1 3V12L2 13H14L15 12V3L14 2H2ZM2 12V3H14V12H2ZM5.3556 8.93017H6V7.22067C6 6.40689 5.68534 6 5.05603 6C4.92098 6 4.77083 6.02421 4.6056 6.07263C4.44181 6.12104 4.3125 6.17691 4.21767 6.24022V6.90503C4.45474 6.70205 4.70474 6.60056 4.96767 6.60056C5.22917 6.60056 5.35991 6.75698 5.35991 7.06983L4.76078 7.17318C4.25359 7.25885 4 7.57914 4 8.13408C4 8.39665 4.06106 8.60708 4.18319 8.76536C4.30675 8.92179 4.47557 9 4.68966 9C4.97989 9 5.19899 8.83985 5.34698 8.51955H5.3556V8.93017ZM5.35991 7.57542V7.76816C5.35991 7.9432 5.31968 8.08845 5.23922 8.20391C5.15876 8.3175 5.0546 8.3743 4.92672 8.3743C4.83477 8.3743 4.76149 8.34264 4.7069 8.27933C4.65374 8.21415 4.62716 8.13128 4.62716 8.03073C4.62716 7.80912 4.73779 7.6797 4.95905 7.64246L5.35991 7.57542ZM7.60094 8.62622H7.59343V8.93511H7V5H7.59343V6.67683H7.60094C7.74742 6.36708 7.95587 6.2122 8.22629 6.2122C8.47418 6.2122 8.6651 6.32987 8.79906 6.56522C8.93302 6.80056 9 7.12243 9 7.53082C9 7.97383 8.92175 8.32944 8.76526 8.59766C8.60876 8.86589 8.39969 9 8.13803 9C7.90141 9 7.72238 8.87541 7.60094 8.62622ZM7.58404 7.50487V7.77742C7.58404 7.94873 7.61972 8.09063 7.69108 8.20311C7.76244 8.3156 7.85383 8.37184 7.96526 8.37184C8.10047 8.37184 8.20501 8.30002 8.27887 8.15639C8.35399 8.01103 8.39155 7.80597 8.39155 7.54121C8.39155 7.32144 8.35712 7.15012 8.28826 7.02726C8.22066 6.90266 8.12363 6.84036 7.99718 6.84036C7.87825 6.84036 7.77934 6.9018 7.70047 7.02466C7.62285 7.14752 7.58404 7.30759 7.58404 7.50487ZM11.2616 9C11.5834 9 11.8295 8.94227 12 8.82682V8.11732C11.82 8.25512 11.636 8.32402 11.448 8.32402C11.2362 8.32402 11.0697 8.25233 10.9486 8.10894C10.8276 7.96369 10.767 7.76443 10.767 7.51117C10.767 7.25047 10.8299 7.04656 10.9558 6.89944C11.0832 6.75047 11.2553 6.67598 11.4719 6.67598C11.6663 6.67598 11.8423 6.74488 12 6.88268V6.13408C11.871 6.04469 11.6623 6 11.374 6C10.9566 6 10.6229 6.1406 10.3728 6.42179C10.1243 6.70112 10 7.0838 10 7.56983C10 7.99069 10.1163 8.33426 10.3489 8.60056C10.5814 8.86685 10.8857 9 11.2616 9Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
3
lisp/company/icons/vscode-dark/symbol-structure.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 2L1 3V6L2 7H14L15 6V3L14 2H2ZM2 3H3H13H14V4V5V6H13H3H2V5V4V3ZM1 10L2 9H5L6 10V13L5 14H2L1 13V10ZM3 10H2V11V12V13H3H4H5V12V11V10H4H3ZM10 10L11 9H14L15 10V13L14 14H11L10 13V10ZM12 10H11V11V12V13H12H13H14V12V11V10H13H12Z" fill="#C5C5C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 391 B |
3
lisp/company/icons/vscode-dark/symbol-variable.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2 5H4V4H1.5L1 4.5V12.5L1.5 13H4V12H2V5ZM14.5 4H12V5H14V12H12V13H14.5L15 12.5V4.5L14.5 4ZM11.76 6.56995L12 7V9.51001L11.7 9.95996L7.19995 11.96H6.73999L4.23999 10.46L4 10.03V7.53003L4.30005 7.06995L8.80005 5.06995H9.26001L11.76 6.56995ZM5 9.70996L6.5 10.61V9.28003L5 8.38V9.70996ZM5.57996 7.56006L7.03003 8.43005L10.42 6.93005L8.96997 6.06006L5.57996 7.56006ZM7.53003 10.73L11.03 9.17004V7.77002L7.53003 9.31995V10.73Z" fill="#75BEFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 589 B |
3
lisp/company/icons/vscode-light/folder.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.5002 3H7.71021L6.86023 2.15002L6.51025 2H1.51025L1.01025 2.5V6.5V13.5L1.51025 14H14.5103L15.0103 13.5V9V3.5L14.5002 3ZM13.9902 11.49V13H1.99023V11.49V7.48999V7H6.48022L6.8302 6.84998L7.69019 5.98999H14.0002V7.48999L13.9902 11.49ZM13.9902 5H7.49023L7.14026 5.15002L6.28027 6.01001H2.00024V3.01001H6.29028L7.14026 3.85999L7.50024 4.01001H14.0002L13.9902 5Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 488 B |
10
lisp/company/icons/vscode-light/references.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.1055 4.5613L7.67529 7.98827L6.54097 6.86834L8.61123 4.78848H3.81155C3.17507 4.78848 2.56466 5.04132 2.11461 5.49138C1.66455 5.94144 1.41171 6.55184 1.41171 7.18832C1.41171 7.8248 1.66455 8.43521 2.11461 8.88527C2.56466 9.33532 3.17507 9.58816 3.81155 9.58816H4.70109V11.1881H3.82115C2.79234 11.142 1.82094 10.7009 1.1092 9.95661C0.397467 9.21231 0.000244141 8.22216 0.000244141 7.19232C0.000244141 6.16249 0.397467 5.17234 1.1092 4.42803C1.82094 3.68373 2.79234 3.24263 3.82115 3.19659H8.62083L6.54097 1.13112L7.67529 0L11.1055 3.43177V4.5613ZM16.6203 24H7.02094L6.22099 23.2V10.4121L7.02094 9.61215H16.6203L17.4202 10.4121V23.2L16.6203 24ZM7.82089 22.4001H15.8204V11.212H7.82089V22.4001ZM13.4205 1.6015H23.0199L23.8198 2.40145V15.1878L23.0199 15.9877H19.0201V14.3878H22.2199V3.20139H14.2205V7.98828H12.6206V2.40145L13.4205 1.6015ZM14.2205 12.7879H9.42078V14.3878H14.2205V12.7879ZM9.42078 15.9877H14.2205V17.5876H9.42078V15.9877ZM14.2205 19.1875H9.42078V20.7874H14.2205V19.1875ZM15.8203 4.78848H20.62V6.38838H15.8203V4.78848ZM20.62 11.188H19.0201V12.7879H20.62V11.188ZM17.2827 8.01228V7.98828H20.62V9.58817H18.8585L17.2827 8.01228Z" fill="#424242"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="24" height="24" fill="white" transform="translate(0.000244141)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
lisp/company/icons/vscode-light/symbol-array.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50024 2L1.00024 2.5V13.5L1.50024 14H4.00024V13H2.00024V3H4.00024V2H1.50024ZM14.5002 14L15.0002 13.5L15.0002 2.5L14.5002 2H12.0002V3L14.0002 3L14.0002 13H12.0002V14H14.5002Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 346 B |
3
lisp/company/icons/vscode-light/symbol-boolean.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.00024 3.5L1.50024 3H14.5002L15.0002 3.5L15.0002 12.5L14.5002 13H1.50024L1.00024 12.5V3.5ZM14.0002 4H8.00024L8.00024 7.49297L7.89818 7.49285L7.50024 7.49225V7.49237L3.92639 7.48807L6.01662 5.39784L5.30951 4.69073L2.3538 7.64645L2.3538 8.35355L5.30951 11.3093L6.01662 10.6022L3.90253 8.48807L7.89785 8.49285L8.00024 8.493V7.50702L11.9075 7.51222L9.79313 5.39784L10.5002 4.69073L13.456 7.64645V8.35355L10.5002 11.3093L9.79313 10.6022L11.8831 8.51222L8.00024 8.50702V12H14.0002V4Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 650 B |
3
lisp/company/icons/vscode-light/symbol-class.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.3403 9.70998H12.0503L14.7202 7.04005V6.32997L13.3803 5.00001H12.6803L10.8603 6.81007H5.86024V5.56007L7.72023 3.70997V3L5.72022 1H5.00025L1.00024 5.00001V5.70997L3.00025 7.70998H3.71027L4.85023 6.56007V12.35L5.35023 12.85H10.0003V13.37L11.3303 14.71H12.0402L14.7103 12.0401V11.33L13.3703 10H12.6703L10.8103 11.85H5.81025V7.84999H10.0003V8.32997L11.3403 9.70998ZM13.0303 6.06007L13.6602 6.68995L11.6602 8.68996L11.0303 8.06007L13.0303 6.06007ZM13.0303 11.0601L13.6602 11.69L11.6602 13.69L11.0303 13.0601L13.0303 11.0601ZM3.35022 6.65004L2.06024 5.34998L5.35023 2.06006L6.65028 3.34998L3.35022 6.65004Z" fill="#D67E00"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 734 B |
3
lisp/company/icons/vscode-light/symbol-color.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00024 1.00305C6.14373 1.00305 4.36323 1.74059 3.05048 3.05334C1.73772 4.3661 1.00024 6.14654 1.00024 8.00305V8.43311C1.09024 9.94311 2.91024 10.2231 4.00024 9.13306C4.35673 8.81625 4.82078 8.64759 5.29749 8.66162C5.77419 8.67565 6.22753 8.87127 6.56476 9.2085C6.90199 9.54572 7.0976 9.99912 7.11163 10.4758C7.12567 10.9525 6.95707 11.4166 6.64026 11.7731C5.54026 12.9331 5.85025 14.843 7.44025 14.973H8.04022C9.89674 14.973 11.6772 14.2356 12.99 12.9229C14.3027 11.6101 15.0402 9.82954 15.0402 7.97302C15.0402 6.11651 14.3027 4.33607 12.99 3.02332C11.6772 1.71056 9.89674 0.973022 8.04022 0.973022L8.00024 1.00305ZM8.00024 14.0031H7.48022C7.34775 13.9989 7.22072 13.9495 7.12024 13.863C7.04076 13.7807 6.98839 13.6761 6.97021 13.5631C6.93834 13.3682 6.95353 13.1684 7.0144 12.9806C7.07528 12.7927 7.18013 12.6222 7.32025 12.483C7.84072 11.9474 8.1319 11.2299 8.1319 10.483C8.1319 9.73615 7.84072 9.0187 7.32025 8.48303C7.05373 8.21635 6.73723 8.00481 6.38892 7.86047C6.0406 7.71614 5.66726 7.64185 5.29022 7.64185C4.91318 7.64185 4.53984 7.71614 4.19153 7.86047C3.84321 8.00481 3.52678 8.21635 3.26025 8.48303C3.15093 8.61081 3.01113 8.709 2.85382 8.76843C2.69651 8.82786 2.52673 8.84657 2.36023 8.823C2.27617 8.80694 2.19927 8.76498 2.14026 8.703C2.07155 8.6224 2.0358 8.5189 2.04022 8.41309V8.04309C2.04022 6.8564 2.39216 5.69629 3.05145 4.70959C3.71074 3.7229 4.64778 2.95388 5.74414 2.49976C6.8405 2.04563 8.04693 1.92681 9.21082 2.15833C10.3747 2.38984 11.4438 2.9613 12.2829 3.80042C13.122 4.63953 13.6934 5.70867 13.9249 6.87256C14.1564 8.03644 14.0376 9.24275 13.5835 10.3391C13.1294 11.4355 12.3604 12.3726 11.3737 13.0319C10.387 13.6911 9.22691 14.0431 8.04022 14.0431L8.00024 14.0031ZM9.00024 3.99683C9.00024 4.54911 8.55253 4.99683 8.00024 4.99683C7.44796 4.99683 7.00024 4.54911 7.00024 3.99683C7.00024 3.44454 7.44796 2.99683 8.00024 2.99683C8.55253 2.99683 9.00024 3.44454 9.00024 3.99683ZM12.0002 11.0037C12.0002 11.5559 11.5525 12.0037 11.0002 12.0037C10.448 12.0037 10.0002 11.5559 10.0002 11.0037C10.0002 10.4514 10.448 10.0037 11.0002 10.0037C11.5525 10.0037 12.0002 10.4514 12.0002 11.0037ZM5.00024 6.00415C5.55253 6.00415 6.00024 5.55644 6.00024 5.00415C6.00024 4.45187 5.55253 4.00415 5.00024 4.00415C4.44796 4.00415 4.00024 4.45187 4.00024 5.00415C4.00024 5.55644 4.44796 6.00415 5.00024 6.00415ZM12.0002 5.00415C12.0002 5.55644 11.5525 6.00415 11.0002 6.00415C10.448 6.00415 10.0002 5.55644 10.0002 5.00415C10.0002 4.45187 10.448 4.00415 11.0002 4.00415C11.5525 4.00415 12.0002 4.45187 12.0002 5.00415ZM13.0003 7.99939C13.0003 8.55167 12.5526 8.99939 12.0003 8.99939C11.448 8.99939 11.0003 8.55167 11.0003 7.99939C11.0003 7.4471 11.448 6.99939 12.0003 6.99939C12.5526 6.99939 13.0003 7.4471 13.0003 7.99939Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
4
lisp/company/icons/vscode-light/symbol-constant.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.00024 6H12.0002V7H4.00024V6ZM12.0002 9H4.00024V10H12.0002V9Z" fill="#424242"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.00024 4L2.00024 3H14.0002L15.0002 4V12L14.0002 13H2.00024L1.00024 12V4ZM2.00024 4V12H14.0002V4H2.00024Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 408 B |
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.00024 3L8.00024 2H14.0002L15.0002 3V8L14.0002 9H10.0002V8H14.0002V3H8.00024V6H7.00024V3ZM9.00024 9V8L8.00024 7H7.00024H2.00024L1.00024 8V13L2.00024 14H8.00024L9.00024 13V9ZM8.00024 8V9V13H2.00024V8H7.00024H8.00024ZM9.41446 7L9.00024 6.58579V6H13.0002V7H9.41446ZM9.00024 4H13.0002V5H9.00024V4ZM7.00024 10H3.00024V11H7.00024V10Z" fill="#007ACC"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 500 B |
3
lisp/company/icons/vscode-light/symbol-enumerator.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.0002 2H8.00024L7.00024 3V6H8.00024V3H14.0002V8H10.0002V9H14.0002L15.0002 8V3L14.0002 2ZM9.00024 6H13.0002V7H9.41024L9.00024 6.59V6ZM7.00024 7H2.00024L1.00024 8V13L2.00024 14H8.00024L9.00024 13V8L8.00024 7H7.00024ZM8.00024 13H2.00024V8H8.00024V9V13ZM3.00024 9H7.00024V10H3.00024V9ZM3.00024 11H7.00024V12H3.00024V11ZM9.00024 4H13.0002V5H9.00024V4Z" fill="#D67E00"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 520 B |
3
lisp/company/icons/vscode-light/symbol-event.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.41379 1.55996L8.31177 1H11.6059L12.4243 2.57465L10.2358 6H12.0176L12.7365 7.69512L5.61967 15L4.01699 13.837L6.11967 10H4.89822L4.00024 8.55996L7.41379 1.55996ZM7.78058 9L4.90078 14.3049L12.0176 7H8.31177L11.6059 2H8.31177L4.89822 9H7.78058Z" fill="#D67E00"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 414 B |
3
lisp/company/icons/vscode-light/symbol-field.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.4502 4.5L9.4502 2H8.55029L1.55029 5.5L1.00024 6.39001V10.89L1.55029 11.79L6.55029 14.29H7.4502L14.4502 10.79L15.0002 9.89001V5.39001L14.4502 4.5ZM6.4502 13.14L1.9502 10.89V7.17004L6.4502 9.17004V13.14ZM6.9502 8.33997L2.29028 6.22998L8.9502 2.89001L13.6202 5.22998L6.9502 8.33997ZM13.9502 9.89001L7.4502 13.14V9.20996L13.9502 6.20996V9.89001Z" fill="#007ACC"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 476 B |
3
lisp/company/icons/vscode-light/symbol-file.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.8502 4.44L10.5702 1.14L10.2202 1H2.50024L2.00024 1.5V14.5L2.50024 15H13.5002L14.0002 14.5V4.8L13.8502 4.44ZM13.0002 5H10.0002V2L13.0002 5ZM3.00024 14V2H9.00024V5.5L9.50024 6H13.0002V14H3.00024Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 328 B |
3
lisp/company/icons/vscode-light/symbol-interface.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.4967 4C10.6552 3.9989 9.8416 4.30189 9.20581 4.85315C8.57002 5.40442 8.15489 6.16684 8.03674 7H4.93665C4.81495 6.52867 4.52557 6.11794 4.12268 5.84473C3.71979 5.57152 3.23108 5.45466 2.74817 5.51599C2.26526 5.57733 1.82131 5.81261 1.49951 6.17786C1.17772 6.54311 1.00024 7.01322 1.00024 7.5C1.00024 7.98679 1.17772 8.45689 1.49951 8.82215C1.82131 9.1874 2.26526 9.42267 2.74817 9.48401C3.23108 9.54535 3.71979 9.42848 4.12268 9.15528C4.52557 8.88207 4.81495 8.47133 4.93665 8H8.03674C8.13261 8.66418 8.41741 9.28683 8.85718 9.7937C9.29695 10.3006 9.87308 10.6703 10.5171 10.8589C11.1611 11.0475 11.8458 11.047 12.4895 10.8574C13.1332 10.6679 13.7089 10.2973 14.1479 9.7898C14.587 9.28227 14.8708 8.65919 14.9657 7.99488C15.0606 7.33056 14.9624 6.65298 14.683 6.04285C14.4036 5.43272 13.9547 4.91578 13.3898 4.55359C12.8248 4.19141 12.1678 3.99922 11.4967 4V4ZM11.4967 10C11.0023 10 10.5189 9.85332 10.1078 9.57862C9.69667 9.30391 9.37623 8.91348 9.18701 8.45667C8.99779 7.99985 8.94834 7.49728 9.0448 7.01233C9.14126 6.52738 9.37925 6.08181 9.72888 5.73218C10.0785 5.38255 10.5241 5.14456 11.009 5.0481C11.494 4.95164 11.9966 5.00109 12.4534 5.19031C12.9102 5.37953 13.3006 5.69996 13.5753 6.11109C13.85 6.52221 13.9967 7.00555 13.9967 7.5C13.9967 8.16304 13.7334 8.79898 13.2645 9.26783C12.7957 9.73667 12.1597 10 11.4967 10V10Z" fill="#007ACC"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
lisp/company/icons/vscode-light/symbol-key.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.22313 10.933C7.54888 11.1254 7.92188 11.2231 8.30013 11.215C8.63802 11.2218 8.97279 11.1492 9.27746 11.003C9.58213 10.8567 9.84817 10.6409 10.0541 10.373C10.5094 9.76519 10.7404 9.01867 10.7081 8.25998C10.7414 7.58622 10.5376 6.9221 10.1321 6.38298C9.93599 6.14161 9.68601 5.94957 9.40225 5.82228C9.11848 5.69498 8.80883 5.63597 8.49813 5.64997C8.07546 5.64699 7.66018 5.76085 7.29813 5.97898C7.18328 6.04807 7.07515 6.12775 6.97513 6.21698V3.47498H5.98413V11.1H6.97913V10.756C7.0554 10.8217 7.13702 10.8809 7.22313 10.933ZM7.85005 6.70006C8.03622 6.62105 8.23832 6.58677 8.44013 6.59998C8.61281 6.59452 8.78429 6.63054 8.94018 6.70501C9.09608 6.77948 9.23185 6.89023 9.33613 7.02798C9.59277 7.39053 9.71865 7.82951 9.69313 8.27297C9.71996 8.79748 9.57993 9.31701 9.29313 9.75698C9.18846 9.91527 9.04571 10.0447 8.87797 10.1335C8.71023 10.2223 8.52289 10.2675 8.33313 10.265C8.14958 10.2732 7.96654 10.24 7.79758 10.1678C7.62862 10.0956 7.47809 9.98628 7.35713 9.84797C7.10176 9.55957 6.96525 9.18506 6.97513 8.79998V8.19998C6.96324 7.78332 7.10287 7.3765 7.36813 7.05498C7.49883 6.90064 7.66388 6.77908 7.85005 6.70006ZM3.28926 5.67499C2.97035 5.67933 2.65412 5.734 2.35226 5.83699C2.06442 5.92293 1.79372 6.05828 1.55226 6.23699L1.45226 6.31399V7.51399L1.87526 7.15499C2.24603 6.80478 2.73158 6.60146 3.24126 6.58299C3.36617 6.57164 3.49194 6.59147 3.60731 6.64068C3.72267 6.6899 3.82402 6.76697 3.90226 6.86499C4.05245 7.0971 4.13264 7.36754 4.13326 7.64399L2.90026 7.82499C2.39459 7.87781 1.9155 8.07772 1.52226 8.39999C1.36721 8.55181 1.24363 8.73271 1.15859 8.93235C1.07355 9.13199 1.02873 9.34644 1.02668 9.56343C1.02464 9.78042 1.06542 9.99568 1.14668 10.1969C1.22795 10.3981 1.3481 10.5813 1.50026 10.736C1.66895 10.8904 1.86647 11.01 2.08149 11.0879C2.29651 11.1659 2.5248 11.2005 2.75326 11.19C3.14725 11.1931 3.53302 11.0774 3.86026 10.858C3.96178 10.7897 4.05744 10.7131 4.14626 10.629V11.073H5.08726V7.71499C5.12161 7.17422 4.95454 6.63988 4.61826 6.21499C4.45004 6.03285 4.24373 5.89003 4.01402 5.7967C3.78431 5.70336 3.53686 5.66181 3.28926 5.67499ZM4.14626 8.71599C4.16588 9.13435 4.02616 9.54459 3.75526 9.864C3.63714 10.0005 3.49023 10.1092 3.3251 10.1821C3.15998 10.2551 2.98073 10.2906 2.80026 10.286C2.69073 10.2945 2.5806 10.2812 2.47624 10.2469C2.37187 10.2125 2.27536 10.1579 2.19226 10.086C2.06104 9.93455 1.9888 9.74088 1.9888 9.54049C1.9888 9.34011 2.06104 9.14644 2.19226 8.99499C2.47347 8.82131 2.79258 8.71837 3.12226 8.69499L4.14226 8.54699L4.14626 8.71599ZM12.459 11.0325C12.7663 11.1638 13.0985 11.2261 13.4324 11.215C13.9273 11.227 14.4156 11.1006 14.8424 10.85L14.9654 10.775L14.9784 10.768V9.61504L14.5324 9.93504C14.2163 10.1592 13.8359 10.2747 13.4484 10.264C13.2499 10.2719 13.0522 10.2342 12.8705 10.1538C12.6889 10.0733 12.5281 9.95232 12.4004 9.80004C12.1146 9.42453 11.9728 8.95911 12.0004 8.48804C11.9739 7.98732 12.1355 7.49475 12.4534 7.10704C12.5936 6.94105 12.7698 6.80914 12.9685 6.7213C13.1672 6.63346 13.3833 6.592 13.6004 6.60004C13.9441 6.59844 14.281 6.69525 14.5714 6.87904L15.0004 7.14404V5.97004L14.8314 5.89704C14.4628 5.73432 14.0644 5.6502 13.6614 5.65004C13.3001 5.63991 12.9409 5.70762 12.608 5.84859C12.2752 5.98956 11.9766 6.20048 11.7324 6.46704C11.2263 7.02683 10.9584 7.76186 10.9854 8.51604C10.9569 9.22346 11.1958 9.91569 11.6544 10.455C11.8772 10.704 12.1518 10.9012 12.459 11.0325Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
3
lisp/company/icons/vscode-light/symbol-keyword.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.0002 4H10.0002V3H15.0002V4ZM14.0002 7H12.0002V8H14.0002V7ZM10.0002 7H1.00024V8H10.0002V7ZM12.0002 13H1.00024V14H12.0002V13ZM7.00024 10H1.00024V11H7.00024V10ZM15.0002 10H10.0002V11H15.0002V10ZM8.00024 2V5H1.00024V2H8.00024ZM7.00024 3H2.00024V4H7.00024V3Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 388 B |
3
lisp/company/icons/vscode-light/symbol-method.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.5103 4L8.51025 1H7.51025L2.51025 4L2.02026 4.85999V10.86L2.51025 11.71L7.51025 14.71H8.51025L13.5103 11.71L14.0002 10.86V4.85999L13.5103 4ZM7.51025 13.5601L3.01025 10.86V5.69995L7.51025 8.15002V13.5601ZM3.27026 4.69995L8.01025 1.85999L12.7502 4.69995L8.01025 7.29004L3.27026 4.69995ZM13.0103 10.86L8.51025 13.5601V8.15002L13.0103 5.69995V10.86Z" fill="#652D90"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 479 B |
3
lisp/company/icons/vscode-light/symbol-misc.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.00024 2H12.0002V6C12.3418 6.03511 12.6777 6.11234 13.0002 6.22998V1H3.00024V9.47998L4.00024 7.72998V2ZM6.14026 10L5.00024 8L4.00024 9.75L3.29028 11L1.00024 15H9.00024L6.71021 11L6.14026 10ZM2.72021 14L4.44019 11L5.00024 10L5.5603 11L7.28027 14H2.72021ZM9.55577 7.58984C10.1313 7.20526 10.808 7 11.5002 7C12.4285 7 13.3187 7.36877 13.9751 8.02515C14.6315 8.68152 15.0002 9.57174 15.0002 10.5C15.0002 11.1922 14.795 11.8689 14.4104 12.4445C14.0258 13.02 13.4791 13.4686 12.8396 13.7335C12.2 13.9984 11.4963 14.0678 10.8174 13.9327C10.1384 13.7977 9.51485 13.4643 9.02537 12.9749C8.53589 12.4854 8.20253 11.8618 8.06748 11.1829C7.93244 10.5039 8.0018 9.80019 8.2667 9.16064C8.53161 8.5211 8.98019 7.97443 9.55577 7.58984ZM10.1113 12.5786C10.5224 12.8533 11.0058 13 11.5002 13C12.1633 13 12.7992 12.7367 13.268 12.2678C13.7369 11.799 14.0002 11.163 14.0002 10.5C14.0002 10.0055 13.8535 9.52221 13.5788 9.11108C13.3041 8.69996 12.9137 8.37953 12.4569 8.19031C12.0001 8.00109 11.4975 7.95163 11.0126 8.0481C10.5276 8.14456 10.082 8.38255 9.7324 8.73218C9.38277 9.08181 9.14478 9.52738 9.04832 10.0123C8.95186 10.4973 9.00131 10.9998 9.19053 11.4567C9.37975 11.9135 9.70018 12.3039 10.1113 12.5786Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
10
lisp/company/icons/vscode-light/symbol-namespace.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.00024 2.98361V2.97184V2H5.91107C5.59767 2 5.29431 2.06161 5.00152 2.18473C4.70842 2.30798 4.44967 2.48474 4.22602 2.71498C4.00336 2.94422 3.83816 3.19498 3.73306 3.46766L3.73257 3.46898C3.63406 3.7352 3.56839 4.01201 3.53557 4.29917L3.53543 4.30053C3.50702 4.5805 3.49894 4.86844 3.51108 5.16428C3.52297 5.45379 3.52891 5.74329 3.52891 6.03279C3.52891 6.23556 3.48999 6.42594 3.41225 6.60507L3.41185 6.60601C3.33712 6.78296 3.23447 6.93866 3.10341 7.07359C2.97669 7.20405 2.8249 7.31055 2.64696 7.3925C2.47084 7.46954 2.28522 7.5082 2.08942 7.5082H2.00024V7.6V8.4V8.4918H2.08942C2.2849 8.4918 2.47026 8.53238 2.64625 8.61334L2.64766 8.61396C2.82482 8.69157 2.97602 8.79762 3.10245 8.93161L3.10436 8.93352C3.23452 9.0637 3.33684 9.21871 3.41153 9.39942L3.41225 9.40108C3.49011 9.58047 3.52891 9.76883 3.52891 9.96721C3.52891 10.2567 3.52297 10.5462 3.51108 10.8357C3.49894 11.1316 3.50701 11.4215 3.5354 11.7055L3.5356 11.7072C3.56844 11.9903 3.63412 12.265 3.73256 12.531L3.73307 12.5323C3.83817 12.805 4.00336 13.0558 4.22602 13.285C4.44967 13.5153 4.70842 13.692 5.00152 13.8153C5.29431 13.9384 5.59767 14 5.91107 14H6.00024V13.2V13.0164H5.91107C5.71119 13.0164 5.52371 12.9777 5.34787 12.9008C5.17421 12.8191 5.02218 12.7126 4.89111 12.5818C4.76411 12.4469 4.66128 12.2911 4.58247 12.1137C4.50862 11.9346 4.47158 11.744 4.47158 11.541C4.47158 11.3127 4.47554 11.0885 4.48346 10.8686C4.49149 10.6411 4.49151 10.4195 4.48349 10.2039C4.47938 9.98246 4.46109 9.76883 4.42847 9.56312C4.39537 9.35024 4.33946 9.14757 4.26063 8.95536C4.18115 8.76157 4.07282 8.57746 3.9364 8.40298C3.8237 8.25881 3.68563 8.12462 3.52307 8C3.68563 7.87538 3.8237 7.74119 3.9364 7.59702C4.07282 7.42254 4.18115 7.23843 4.26063 7.04464C4.33938 6.85263 4.39537 6.65175 4.4285 6.44285C4.46107 6.2333 4.47938 6.01973 4.48349 5.80219C4.49151 5.58262 4.4915 5.36105 4.48345 5.13749C4.47554 4.9134 4.47158 4.68725 4.47158 4.45902C4.47158 4.26019 4.50857 4.07152 4.58263 3.89205C4.6616 3.71034 4.76445 3.55475 4.8911 3.42437C5.02218 3.28942 5.17485 3.18275 5.34826 3.10513C5.52404 3.02427 5.71138 2.98361 5.91107 2.98361H6.00024ZM10.0002 13.0164V13.0282V14H10.0894C10.4028 14 10.7062 13.9384 10.999 13.8153C11.2921 13.692 11.5508 13.5153 11.7745 13.285C11.9971 13.0558 12.1623 12.805 12.2674 12.5323L12.2679 12.531C12.3664 12.2648 12.4321 11.988 12.4649 11.7008L12.4651 11.6995C12.4935 11.4195 12.5015 11.1316 12.4894 10.8357C12.4775 10.5462 12.4716 10.2567 12.4716 9.96721C12.4716 9.76444 12.5105 9.57406 12.5882 9.39493L12.5886 9.39399C12.6634 9.21704 12.766 9.06134 12.8971 8.92642C13.0238 8.79595 13.1756 8.68945 13.3535 8.6075C13.5296 8.53046 13.7153 8.4918 13.9111 8.4918H14.0002V8.4V7.6V7.5082H13.9111C13.7156 7.5082 13.5302 7.46762 13.3542 7.38666L13.3528 7.38604C13.1757 7.30844 13.0245 7.20238 12.898 7.06839L12.8961 7.06648C12.766 6.9363 12.6637 6.78129 12.589 6.60058L12.5882 6.59892C12.5104 6.41953 12.4716 6.23117 12.4716 6.03279C12.4716 5.74329 12.4775 5.45379 12.4894 5.16428C12.5015 4.86842 12.4935 4.57848 12.4651 4.29454L12.4649 4.29285C12.4321 4.00971 12.3664 3.73502 12.2679 3.46897L12.2674 3.46766C12.1623 3.19499 11.9971 2.94422 11.7745 2.71498C11.5508 2.48474 11.2921 2.30798 10.999 2.18473C10.7062 2.06161 10.4028 2 10.0894 2H10.0002V2.8V2.98361H10.0894C10.2893 2.98361 10.4768 3.0223 10.6526 3.09917C10.8263 3.18092 10.9783 3.28736 11.1094 3.41823C11.2364 3.55305 11.3392 3.70889 11.418 3.88628C11.4919 4.0654 11.5289 4.25596 11.5289 4.45902C11.5289 4.68727 11.5249 4.91145 11.517 5.13142C11.509 5.35894 11.509 5.58049 11.517 5.79605C11.5211 6.01754 11.5394 6.23117 11.572 6.43688C11.6051 6.64976 11.661 6.85243 11.7399 7.04464C11.8193 7.23843 11.9277 7.42254 12.0641 7.59702C12.1768 7.74119 12.3149 7.87538 12.4774 8C12.3149 8.12462 12.1768 8.25881 12.0641 8.40298C11.9277 8.57746 11.8193 8.76157 11.7399 8.95536C11.6611 9.14737 11.6051 9.34825 11.572 9.55715C11.5394 9.7667 11.5211 9.98027 11.517 10.1978C11.509 10.4174 11.509 10.6389 11.517 10.8625C11.5249 11.0866 11.5289 11.3128 11.5289 11.541C11.5289 11.7398 11.4919 11.9285 11.4179 12.1079C11.3389 12.2897 11.236 12.4452 11.1094 12.5756C10.9783 12.7106 10.8256 12.8173 10.6522 12.8949C10.4764 12.9757 10.2891 13.0164 10.0894 13.0164H10.0002Z" fill="#424242"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="16" height="16" fill="white" transform="translate(0.000244141)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
3
lisp/company/icons/vscode-light/symbol-numeric.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0002 1V5H15.0002V6H11.0002L11.0002 10H15.0002V11H11.0002V15H10.0002V11H6.00024V15H5.00024L5.00024 11H1.00024V10H5.00024L5.00024 6H1.00024V5H5.00024L5.00024 1H6.00024V5H10.0002V1H11.0002ZM6.00024 6L6.00024 10H10.0002L10.0002 6H6.00024Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 409 B |
3
lisp/company/icons/vscode-light/symbol-operator.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.87313 1.10023C3.20793 1.23579 3.4757 1.498 3.61826 1.82988C3.69056 1.99959 3.72699 2.18242 3.72526 2.36688C3.72642 2.54999 3.69 2.7314 3.61826 2.89988C3.51324 3.14567 3.33807 3.35503 3.11466 3.50177C2.89126 3.64851 2.62955 3.72612 2.36226 3.72488C2.17948 3.72592 1.99842 3.68951 1.83026 3.61788C1.58322 3.51406 1.37252 3.33932 1.22478 3.11575C1.07704 2.89219 0.99891 2.62984 1.00026 2.36188C0.999374 2.17921 1.03543 1.99825 1.10626 1.82988C1.24362 1.50314 1.50353 1.24323 1.83026 1.10588C2.16357 0.966692 2.53834 0.964661 2.87313 1.10023ZM2.57526 2.86488C2.70564 2.80913 2.80951 2.70526 2.86526 2.57488C2.89314 2.50838 2.90742 2.43698 2.90726 2.36488C2.90838 2.2654 2.88239 2.1675 2.8321 2.08167C2.7818 1.99584 2.70909 1.92531 2.62176 1.87767C2.53443 1.83002 2.43577 1.80705 2.33638 1.81121C2.23698 1.81537 2.1406 1.8465 2.05755 1.90128C1.97451 1.95606 1.90794 2.03241 1.865 2.12215C1.82205 2.21188 1.80434 2.31161 1.81376 2.41065C1.82319 2.50968 1.85939 2.60428 1.9185 2.6843C1.9776 2.76433 2.05738 2.82675 2.14926 2.86488C2.28574 2.92089 2.43878 2.92089 2.57526 2.86488ZM6.43019 1.1095L1.10992 6.42977L1.79581 7.11567L7.11608 1.7954L6.43019 1.1095ZM11.5002 8.99999H12.5002V11.5H15.0002V12.5H12.5002V15H11.5002V12.5H9.00024V11.5H11.5002V8.99999ZM5.76801 9.52509L6.47512 10.2322L4.70735 12L6.47512 13.7677L5.76801 14.4748L4.00024 12.7071L2.23248 14.4748L1.52537 13.7677L3.29314 12L1.52537 10.2322L2.23248 9.52509L4.00024 11.2929L5.76801 9.52509ZM7.11826 5.32988C7.01466 5.08268 6.83997 4.87183 6.61636 4.72406C6.39275 4.57629 6.13028 4.49826 5.86226 4.49988C5.6796 4.49899 5.49864 4.53505 5.33026 4.60588C5.00353 4.74323 4.74362 5.00314 4.60626 5.32988C4.53612 5.49478 4.49922 5.67191 4.49766 5.8511C4.4961 6.0303 4.52992 6.20804 4.59718 6.37414C4.66443 6.54024 4.76381 6.69143 4.88961 6.81906C5.0154 6.94669 5.16515 7.04823 5.33026 7.11788C5.49892 7.18848 5.67993 7.22484 5.86276 7.22484C6.0456 7.22484 6.22661 7.18848 6.39526 7.11788C6.64225 7.01388 6.85295 6.83913 7.00082 6.61563C7.1487 6.39213 7.22713 6.12987 7.22626 5.86188C7.22679 5.67905 7.19005 5.49803 7.11826 5.32988ZM6.36526 6.07488C6.3379 6.13937 6.29854 6.19808 6.24926 6.24788C6.19932 6.29724 6.14066 6.33691 6.07626 6.36488C6.00878 6.39297 5.93635 6.40725 5.86326 6.40688C5.79015 6.40744 5.71769 6.39315 5.65026 6.36488C5.58565 6.33729 5.52693 6.29757 5.47726 6.24788C5.42715 6.19856 5.38738 6.13975 5.36026 6.07488C5.30425 5.9384 5.30425 5.78536 5.36026 5.64888C5.41561 5.51846 5.51965 5.41477 5.65026 5.35988C5.71761 5.33126 5.79008 5.31663 5.86326 5.31688C5.93642 5.31685 6.00884 5.33147 6.07626 5.35988C6.14062 5.38749 6.19928 5.42682 6.24926 5.47588C6.2981 5.52603 6.33741 5.58465 6.36526 5.64888C6.39364 5.7163 6.40827 5.78872 6.40827 5.86188C6.40827 5.93503 6.39364 6.00745 6.36526 6.07488ZM14.0002 3H10.0002V4H14.0002V3Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
3
lisp/company/icons/vscode-light/symbol-parameter.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0003 6H10.0003V5.5C10.0003 5.22386 9.7764 5 9.50026 5H8.47926V10.5C8.47926 10.7761 8.70312 11 8.97926 11H9.47926V12H6.47926V11H6.97926C7.2554 11 7.47926 10.7761 7.47926 10.5V5H6.50026C6.22412 5 6.00026 5.22386 6.00026 5.5V6H5.00026V4H11.0003V6ZM13.9145 8.0481L12.4522 6.58581L13.1593 5.87871L14.9751 7.69454V8.40165L13.2074 10.1694L12.5003 9.46231L13.9145 8.0481ZM3.54835 9.4623L2.08605 8.00002L3.50026 6.58581L2.79316 5.8787L1.02539 7.64647V8.35357L2.84124 10.1694L3.54835 9.4623Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 656 B |
3
lisp/company/icons/vscode-light/symbol-property.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.80747 14.9754C2.57144 14.9721 2.33851 14.9211 2.12271 14.8254C1.90692 14.7297 1.71273 14.5913 1.55183 14.4186C1.23875 14.1334 1.04458 13.7408 1.00799 13.3189C0.966469 12.8828 1.09293 12.4473 1.36158 12.1013C2.56804 10.8289 4.94755 8.4494 6.67836 6.75479C6.31007 5.75887 6.32729 4.66127 6.72661 3.67739C7.05499 2.85876 7.63893 2.16805 8.39153 1.70807C8.98195 1.31706 9.66055 1.07944 10.3659 1.01673C11.0713 0.954022 11.7812 1.06819 12.4313 1.34892L13.0485 1.6162L10.1827 4.56738L11.4374 5.82582L14.3811 2.94887L14.6484 3.56788C14.8738 4.08976 14.9933 4.65119 14.9999 5.21961C15.0066 5.78802 14.9004 6.35211 14.6874 6.87915C14.4763 7.40029 14.1626 7.87368 13.7649 8.27122C13.5396 8.49169 13.2907 8.68653 13.0225 8.85218C12.4676 9.22275 11.8327 9.45636 11.1699 9.5338C10.5071 9.61124 9.83546 9.5303 9.21007 9.29764C8.11219 10.4113 5.37167 13.1704 3.89143 14.5522C3.5945 14.8219 3.20856 14.9726 2.80747 14.9754ZM10.7451 1.92802C10.0873 1.92637 9.44383 2.12018 8.89639 2.48485C8.68289 2.6152 8.48461 2.76897 8.30522 2.9433C7.82813 3.42423 7.5095 4.03953 7.39206 4.70669C7.27462 5.37385 7.36398 6.06098 7.64816 6.67591L7.78366 6.97288L7.55072 7.20025C5.81249 8.89672 3.28171 11.4201 2.06504 12.7045C1.9567 12.8658 1.91037 13.0608 1.93459 13.2535C1.95881 13.4463 2.05195 13.6238 2.19682 13.7532C2.28029 13.8462 2.38201 13.9211 2.49565 13.9731C2.59581 14.0184 2.70408 14.043 2.81397 14.0455C2.98089 14.0413 3.14068 13.977 3.26407 13.8646C4.83711 12.3964 7.87646 9.32641 8.76832 8.42435L8.99754 8.19326L9.29266 8.32783C9.80642 8.56732 10.3734 8.66985 10.9385 8.62545C11.5036 8.58106 12.0476 8.39125 12.5176 8.07447C12.7316 7.9426 12.9299 7.78694 13.1088 7.61045C13.4186 7.30153 13.6634 6.93374 13.8288 6.52874C13.9943 6.12375 14.077 5.68974 14.0721 5.25228C14.0722 5.03662 14.0507 4.82148 14.0081 4.61007L11.4309 7.12508L8.87968 4.57759L11.3947 1.98834C11.1807 1.94674 10.9631 1.92653 10.7451 1.92802Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
3
lisp/company/icons/vscode-light/symbol-ruler.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.00024 1L3.00024 2V14L4.00024 15H12.0002L13.0002 14V2L12.0002 1H4.00024ZM4.00024 3V2H12.0002V14H4.00024V13H6.00024V12H4.00024V10H8.00024V9H4.00024V7H6.00024V6H4.00024V4H8.00024V3H4.00024Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 360 B |
3
lisp/company/icons/vscode-light/symbol-snippet.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.50024 1L2.00024 1.5V13H3.00024V2H14.0002V13H15.0002V1.5L14.5002 1H2.50024ZM2.00024 15V14H3.00024V15H2.00024ZM5.00024 14.0001H4.00024V15.0001H5.00024V14.0001ZM6.00024 14.0001H7.00024V15.0001H6.00024V14.0001ZM9.00024 14.0001H8.00024V15.0001H9.00024V14.0001ZM10.0002 14.0001H11.0002V15.0001H10.0002V14.0001ZM15.0002 15.0001V14.0001H14.0002V15.0001H15.0002ZM12.0002 14.0001H13.0002V15.0001H12.0002V14.0001Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 576 B |
3
lisp/company/icons/vscode-light/symbol-string.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.00024 2L1.00024 3V12L2.00024 13H14.0002L15.0002 12V3L14.0002 2H2.00024ZM2.00024 12V3H14.0002V12H2.00024ZM5.35585 8.93017H6.00024V7.22067C6.00024 6.40689 5.68559 6 5.05628 6C4.92122 6 4.77108 6.02421 4.60585 6.07263C4.44205 6.12104 4.31274 6.17691 4.21792 6.24022V6.90503C4.45499 6.70205 4.70499 6.60056 4.96792 6.60056C5.22941 6.60056 5.36016 6.75698 5.36016 7.06983L4.76102 7.17318C4.25384 7.25885 4.00024 7.57914 4.00024 8.13408C4.00024 8.39665 4.06131 8.60708 4.18343 8.76536C4.307 8.92179 4.47582 9 4.6899 9C4.98013 9 5.19924 8.83985 5.34723 8.51955H5.35585V8.93017ZM5.36016 7.57542V7.76816C5.36016 7.9432 5.31993 8.08845 5.23947 8.20391C5.15901 8.3175 5.05484 8.3743 4.92697 8.3743C4.83501 8.3743 4.76174 8.34264 4.70714 8.27933C4.65398 8.21415 4.6274 8.13128 4.6274 8.03073C4.6274 7.80912 4.73803 7.6797 4.9593 7.64246L5.36016 7.57542ZM7.60118 8.62622H7.59367V8.93511H7.00024V5H7.59367V6.67683H7.60118C7.74766 6.36708 7.95611 6.2122 8.22653 6.2122C8.47442 6.2122 8.66535 6.32987 8.7993 6.56522C8.93326 6.80056 9.00024 7.12243 9.00024 7.53082C9.00024 7.97383 8.922 8.32944 8.7655 8.59766C8.60901 8.86589 8.39993 9 8.13827 9C7.90165 9 7.72262 8.87541 7.60118 8.62622ZM7.58428 7.50487V7.77742C7.58428 7.94873 7.61996 8.09063 7.69132 8.20311C7.76269 8.3156 7.85408 8.37184 7.9655 8.37184C8.10071 8.37184 8.20525 8.30002 8.27912 8.15639C8.35423 8.01103 8.39179 7.80597 8.39179 7.54121C8.39179 7.32144 8.35736 7.15012 8.28851 7.02726C8.2209 6.90266 8.12387 6.84036 7.99743 6.84036C7.87849 6.84036 7.77959 6.9018 7.70071 7.02466C7.62309 7.14752 7.58428 7.30759 7.58428 7.50487ZM11.2619 9C11.5837 9 11.8298 8.94227 12.0002 8.82682V8.11732C11.8202 8.25512 11.6362 8.32402 11.4483 8.32402C11.2364 8.32402 11.0699 8.25233 10.9489 8.10894C10.8278 7.96369 10.7673 7.76443 10.7673 7.51117C10.7673 7.25047 10.8302 7.04656 10.956 6.89944C11.0835 6.75047 11.2555 6.67598 11.4722 6.67598C11.6665 6.67598 11.8425 6.74488 12.0002 6.88268V6.13408C11.8712 6.04469 11.6625 6 11.3742 6C10.9568 6 10.6231 6.1406 10.373 6.42179C10.1245 6.70112 10.0002 7.0838 10.0002 7.56983C10.0002 7.99069 10.1165 8.33426 10.3491 8.60056C10.5817 8.86685 10.8859 9 11.2619 9Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
3
lisp/company/icons/vscode-light/symbol-structure.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.00024 2L1.00024 3V6L2.00024 7H14.0002L15.0002 6V3L14.0002 2H2.00024ZM2.00024 3H3.00024H13.0002H14.0002V4V5V6H13.0002H3.00024H2.00024V5V4V3ZM1.00024 10L2.00024 9H5.00024L6.00024 10V13L5.00024 14H2.00024L1.00024 13V10ZM3.00024 10H2.00024V11V12V13H3.00024H4.00024H5.00024V12V11V10H4.00024H3.00024ZM10.0002 10L11.0002 9H14.0002L15.0002 10V13L14.0002 14H11.0002L10.0002 13V10ZM12.0002 10H11.0002V11V12V13H12.0002H13.0002H14.0002V12V11V10H13.0002H12.0002Z" fill="#424242"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 623 B |
3
lisp/company/icons/vscode-light/symbol-variable.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.00024 5H4.00024V4H1.50024L1.00024 4.5V12.5L1.50024 13H4.00024V12H2.00024V5ZM14.5002 4H12.0002V5H14.0002V12H12.0002V13H14.5002L15.0002 12.5V4.5L14.5002 4ZM11.7603 6.56995L12.0002 7V9.51001L11.7002 9.95996L7.2002 11.96H6.74023L4.24023 10.46L4.00024 10.03V7.53003L4.30029 7.06995L8.80029 5.06995H9.26025L11.7603 6.56995ZM5.00024 9.70996L6.50024 10.61V9.28003L5.00024 8.38V9.70996ZM5.5802 7.56006L7.03027 8.43005L10.4203 6.93005L8.97021 6.06006L5.5802 7.56006ZM7.53027 10.73L11.0303 9.17004V7.77002L7.53027 9.31995V10.73Z" fill="#007ACC"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 691 B |
308
lisp/counsel.el
@@ -1,13 +1,13 @@
|
||||
;;; counsel.el --- Various completion functions using Ivy -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2019 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2015-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; URL: https://github.com/abo-abo/swiper
|
||||
;; Package-Version: 20201227.1327
|
||||
;; Package-Commit: 71c59aecf669142ebe264fac8ff7b440c0c71712
|
||||
;; Version: 0.13.0
|
||||
;; Package-Requires: ((emacs "24.5") (swiper "0.13.0"))
|
||||
;; Package-Version: 20211230.1909
|
||||
;; Package-Commit: c97ea72285f2428ed61b519269274d27f2b695f9
|
||||
;; Version: 0.13.4
|
||||
;; Package-Requires: ((emacs "24.5") (ivy "0.13.4") (swiper "0.13.4"))
|
||||
;; Keywords: convenience, matching, tools
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ivy)
|
||||
(require 'swiper)
|
||||
|
||||
(require 'compile)
|
||||
@@ -124,10 +125,11 @@ complex regexes."
|
||||
(executable-find command)))
|
||||
"Compatibility shim for `executable-find'.")
|
||||
|
||||
(defun counsel-require-program (cmd)
|
||||
(defun counsel-require-program (cmd &optional noerror)
|
||||
"Check system for program used in CMD, printing error if not found.
|
||||
CMD is either a string or a list of strings.
|
||||
To skip the `executable-find' check, start the string with a space."
|
||||
To skip the `executable-find' check, start the string with a space.
|
||||
When NOERROR is non-nil, return nil instead of raising an error."
|
||||
(unless (and (stringp cmd) (string-prefix-p " " cmd))
|
||||
(let ((program (if (listp cmd)
|
||||
(car cmd)
|
||||
@@ -135,7 +137,8 @@ To skip the `executable-find' check, start the string with a space."
|
||||
(or (and (stringp program)
|
||||
(not (string= program ""))
|
||||
(counsel--executable-find program t))
|
||||
(user-error "Required program \"%s\" not found in your path" program)))))
|
||||
(unless noerror
|
||||
(user-error "Required program \"%s\" not found in your path" program))))))
|
||||
|
||||
(declare-function eshell-split-path "esh-util")
|
||||
|
||||
@@ -424,7 +427,8 @@ Update the minibuffer with the amount of lines collected every
|
||||
(cons (concat (car x) (irony-completion-annotation x))
|
||||
(car x)))
|
||||
|
||||
(add-to-list 'ivy-display-functions-alist '(counsel-irony . ivy-display-function-overlay))
|
||||
(ivy-configure #'counsel-irony
|
||||
:display-fn #'ivy-display-function-overlay)
|
||||
|
||||
;;* Elisp symbols
|
||||
;;** `counsel-describe-variable'
|
||||
@@ -622,29 +626,35 @@ to `ivy-highlight-face'."
|
||||
(defun counsel-read-setq-expression (sym)
|
||||
"Read and eval a setq expression for SYM."
|
||||
(setq this-command 'eval-expression)
|
||||
(let* ((minibuffer-completing-symbol t)
|
||||
(sym-value (symbol-value sym))
|
||||
(expr (minibuffer-with-setup-hook
|
||||
(lambda ()
|
||||
;; Functions `elisp-eldoc-documentation-function' and
|
||||
;; `elisp-completion-at-point' added in Emacs 25.1.
|
||||
(add-function :before-until (local 'eldoc-documentation-function)
|
||||
#'elisp-eldoc-documentation-function)
|
||||
(add-hook 'completion-at-point-functions #'elisp-completion-at-point nil t)
|
||||
(run-hooks 'eval-expression-minibuffer-setup-hook)
|
||||
(goto-char (minibuffer-prompt-end))
|
||||
(forward-char 6)
|
||||
(insert (format "%S " sym)))
|
||||
(read-from-minibuffer "Eval: "
|
||||
(format
|
||||
(if (and sym-value (or (consp sym-value)
|
||||
(symbolp sym-value)))
|
||||
"(setq '%S)"
|
||||
"(setq %S)")
|
||||
sym-value)
|
||||
read-expression-map t
|
||||
'read-expression-history))))
|
||||
expr))
|
||||
(let* ((sym-value (symbol-value sym))
|
||||
(init (format "(setq %s%S)"
|
||||
(if (or (consp sym-value)
|
||||
(and sym-value (symbolp sym-value)))
|
||||
"'"
|
||||
"")
|
||||
sym-value)))
|
||||
;; Most of this duplicates `read--expression'.
|
||||
(minibuffer-with-setup-hook
|
||||
(lambda ()
|
||||
(set-syntax-table emacs-lisp-mode-syntax-table)
|
||||
;; Added in Emacs 25.1.
|
||||
(when (fboundp 'elisp-completion-at-point)
|
||||
(add-hook 'completion-at-point-functions
|
||||
#'elisp-completion-at-point nil t))
|
||||
;; Emacs 27+ already sets up ElDoc in this hook. Emacs 25 added
|
||||
;; `elisp-eldoc-documentation-function' and Emacs 28 obsoletes it.
|
||||
(when (< emacs-major-version 27)
|
||||
(when (fboundp 'elisp-eldoc-documentation-function)
|
||||
(add-function :before-until (local 'eldoc-documentation-function)
|
||||
#'elisp-eldoc-documentation-function))
|
||||
(eldoc-mode))
|
||||
(run-hooks 'eval-expression-minibuffer-setup-hook)
|
||||
;; The following diverges from `read--expression'.
|
||||
(goto-char (minibuffer-prompt-end))
|
||||
(forward-char 6)
|
||||
(insert (format "%S " sym)))
|
||||
(read-from-minibuffer "Eval: " init read-expression-map t
|
||||
'read-expression-history))))
|
||||
|
||||
(defun counsel--setq-doconst (x)
|
||||
"Return a cons of description and value for X.
|
||||
@@ -875,6 +885,26 @@ packages are, in order of precedence, `amx' and `smex'."
|
||||
(smex-update))
|
||||
smex-ido-cache)))
|
||||
|
||||
(defun counsel--M-x-externs-predicate (cand)
|
||||
"Return non-nil if `counsel-M-x' should complete CAND.
|
||||
CAND is a string returned by `counsel--M-x-externs'."
|
||||
(not (get (intern cand) 'no-counsel-M-x)))
|
||||
|
||||
(defun counsel--M-x-make-predicate ()
|
||||
"Return a predicate for `counsel-M-x' in the current buffer."
|
||||
(defvar read-extended-command-predicate)
|
||||
(let ((buf (current-buffer)))
|
||||
(lambda (sym)
|
||||
(and (commandp sym)
|
||||
(not (get sym 'byte-obsolete-info))
|
||||
(not (get sym 'no-counsel-M-x))
|
||||
(cond ((not (bound-and-true-p read-extended-command-predicate)))
|
||||
((functionp read-extended-command-predicate)
|
||||
(condition-case-unless-debug err
|
||||
(funcall read-extended-command-predicate sym buf)
|
||||
(error (message "read-extended-command-predicate: %s: %s"
|
||||
sym (error-message-string err))))))))))
|
||||
|
||||
(defun counsel--M-x-prompt ()
|
||||
"String for `M-x' plus the string representation of `current-prefix-arg'."
|
||||
(concat (cond ((null current-prefix-arg)
|
||||
@@ -920,12 +950,8 @@ when available, in that order of precedence."
|
||||
(let ((externs (counsel--M-x-externs)))
|
||||
(ivy-read (counsel--M-x-prompt) (or externs obarray)
|
||||
:predicate (if externs
|
||||
(lambda (x)
|
||||
(not (get (intern x) 'no-counsel-M-x)))
|
||||
(lambda (sym)
|
||||
(and (commandp sym)
|
||||
(not (get sym 'byte-obsolete-info))
|
||||
(not (get sym 'no-counsel-M-x)))))
|
||||
#'counsel--M-x-externs-predicate
|
||||
(counsel--M-x-make-predicate))
|
||||
:require-match t
|
||||
:history 'counsel-M-x-history
|
||||
:action #'counsel-M-x-action
|
||||
@@ -1818,7 +1844,7 @@ currently checked out."
|
||||
"Switch to `counsel-file-jump' from `counsel-find-file'."
|
||||
(interactive)
|
||||
(ivy-quit-and-run
|
||||
(counsel-file-jump ivy-text)))
|
||||
(counsel-file-jump ivy-text (ivy-state-directory ivy-last))))
|
||||
|
||||
(when (executable-find "git")
|
||||
(add-to-list 'ivy-ffap-url-functions 'counsel-github-url-p)
|
||||
@@ -1947,7 +1973,7 @@ but the leading dot is a lot faster."
|
||||
(const :tag "None" nil)
|
||||
(const :tag "Dotfiles and Lockfiles" "\\(?:\\`\\|[/\\]\\)\\(?:[#.]\\)")
|
||||
(const :tag "Ignored Extensions"
|
||||
,(regexp-opt completion-ignored-extensions))
|
||||
,(concat (regexp-opt completion-ignored-extensions) "\\'"))
|
||||
(regexp :tag "Regex")))
|
||||
|
||||
(defvar counsel--find-file-predicate nil
|
||||
@@ -2028,14 +2054,15 @@ The preselect behavior can be customized via user options
|
||||
:caller caller)))
|
||||
|
||||
;;;###autoload
|
||||
(defun counsel-find-file (&optional initial-input)
|
||||
(defun counsel-find-file (&optional initial-input initial-directory)
|
||||
"Forward to `find-file'.
|
||||
When INITIAL-INPUT is non-nil, use it in the minibuffer during completion."
|
||||
(interactive)
|
||||
(counsel--find-file-1
|
||||
"Find file: " initial-input
|
||||
#'counsel-find-file-action
|
||||
'counsel-find-file))
|
||||
(let ((tramp-archive-enabled nil)
|
||||
(default-directory (or initial-directory default-directory)))
|
||||
(counsel--find-file-1 "Find file: " initial-input
|
||||
#'counsel-find-file-action
|
||||
'counsel-find-file)))
|
||||
|
||||
(ivy-configure 'counsel-find-file
|
||||
:parent 'read-file-name-internal
|
||||
@@ -2188,34 +2215,34 @@ See variable `counsel-up-directory-level'."
|
||||
|
||||
(defun counsel-github-url-p ()
|
||||
"Return a Github issue URL at point."
|
||||
(counsel-require-program "git")
|
||||
(let ((url (counsel-at-git-issue-p)))
|
||||
(when url
|
||||
(let ((origin (shell-command-to-string
|
||||
"git remote get-url origin"))
|
||||
user repo)
|
||||
(cond ((string-match "\\`git@github.com:\\([^/]+\\)/\\(.*\\)\\.git$"
|
||||
origin)
|
||||
(setq user (match-string 1 origin))
|
||||
(setq repo (match-string 2 origin)))
|
||||
((string-match "\\`https://github.com/\\([^/]+\\)/\\(.*\\)$"
|
||||
origin)
|
||||
(setq user (match-string 1 origin))
|
||||
(setq repo (match-string 2 origin))))
|
||||
(when user
|
||||
(setq url (format "https://github.com/%s/%s/issues/%s"
|
||||
user repo (substring url 1))))))))
|
||||
(when (counsel-require-program "git" t)
|
||||
(let ((url (counsel-at-git-issue-p)))
|
||||
(when url
|
||||
(let ((origin (shell-command-to-string
|
||||
"git remote get-url origin"))
|
||||
user repo)
|
||||
(cond ((string-match "\\`git@github.com:\\([^/]+\\)/\\(.*\\)\\.git$"
|
||||
origin)
|
||||
(setq user (match-string 1 origin))
|
||||
(setq repo (match-string 2 origin)))
|
||||
((string-match "\\`https://github.com/\\([^/]+\\)/\\(.*\\)$"
|
||||
origin)
|
||||
(setq user (match-string 1 origin))
|
||||
(setq repo (match-string 2 origin))))
|
||||
(when user
|
||||
(setq url (format "https://github.com/%s/%s/issues/%s"
|
||||
user repo (substring url 1)))))))))
|
||||
|
||||
(defun counsel-emacs-url-p ()
|
||||
"Return a Debbugs issue URL at point."
|
||||
(counsel-require-program "git")
|
||||
(let ((url (counsel-at-git-issue-p)))
|
||||
(when url
|
||||
(let ((origin (shell-command-to-string
|
||||
"git remote get-url origin")))
|
||||
(when (string-match "git.sv.gnu.org:/srv/git/emacs.git" origin)
|
||||
(format "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=%s"
|
||||
(substring url 1)))))))
|
||||
(when (counsel-require-program "git" t)
|
||||
(let ((url (counsel-at-git-issue-p)))
|
||||
(when url
|
||||
(let ((origin (shell-command-to-string
|
||||
"git remote get-url origin")))
|
||||
(when (string-match "git.sv.gnu.org:/srv/git/emacs.git" origin)
|
||||
(format "https://debbugs.gnu.org/cgi/bugreport.cgi?bug=%s"
|
||||
(substring url 1))))))))
|
||||
|
||||
(defvar counsel-url-expansions-alist nil
|
||||
"Map of regular expressions to expansions.
|
||||
@@ -2466,7 +2493,8 @@ By default `counsel-bookmark' opens a dired buffer for directories."
|
||||
|
||||
(ivy-set-actions
|
||||
'counsel-bookmark
|
||||
`(("d" bookmark-delete "delete")
|
||||
`(("j" bookmark-jump-other-window "other window")
|
||||
("d" bookmark-delete "delete")
|
||||
("e" bookmark-rename "edit")
|
||||
("s" bookmark-set "overwrite")
|
||||
("x" ,(counsel--apply-bookmark-fn #'counsel-find-file-extern)
|
||||
@@ -2593,18 +2621,27 @@ string - the full shell command to run."
|
||||
"Use `dired-jump' on X."
|
||||
(dired-jump nil x))
|
||||
|
||||
(defvar locate-command)
|
||||
|
||||
(defun counsel-locate-cmd-default (input)
|
||||
"Return a `locate' shell command based on regexp INPUT."
|
||||
(counsel-require-program "locate")
|
||||
(format "locate -i --regex %s"
|
||||
"Return a `locate' shell command based on regexp INPUT.
|
||||
This uses the user option `locate-command' from the `locate'
|
||||
library, which see."
|
||||
(counsel-require-program locate-command)
|
||||
(format "%s -i --regex %s"
|
||||
locate-command
|
||||
(shell-quote-argument
|
||||
(counsel--elisp-to-pcre
|
||||
(ivy--regex input)))))
|
||||
|
||||
(defun counsel-locate-cmd-noregex (input)
|
||||
"Return a `locate' shell command based on INPUT."
|
||||
(counsel-require-program "locate")
|
||||
(format "locate -i %s" (shell-quote-argument input)))
|
||||
"Return a `locate' shell command based on INPUT.
|
||||
This uses the user option `locate-command' from the `locate'
|
||||
library, which see."
|
||||
(counsel-require-program locate-command)
|
||||
(format "%s -i %s"
|
||||
locate-command
|
||||
(shell-quote-argument input)))
|
||||
|
||||
(defun counsel-locate-cmd-mdfind (input)
|
||||
"Return a `mdfind' shell command based on INPUT."
|
||||
@@ -2660,6 +2697,8 @@ string - the full shell command to run."
|
||||
"Call a \"locate\" style shell command.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input."
|
||||
(interactive)
|
||||
;; For `locate-command', which is honored in some options of `counsel-locate-cmd'.
|
||||
(require 'locate)
|
||||
(counsel--locate-updatedb)
|
||||
(ivy-read "Locate: " #'counsel-locate-function
|
||||
:initial-input initial-input
|
||||
@@ -2843,6 +2882,18 @@ FZF-PROMPT, if non-nil, is passed as `ivy-read' prompt argument."
|
||||
:type '(repeat string))
|
||||
|
||||
;;** `counsel-file-jump'
|
||||
(defvar counsel-file-jump-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map (kbd "`") #'counsel-find-file-from-jump)
|
||||
map)
|
||||
"Key bindings to be used when in a file-jump minibuffer.")
|
||||
|
||||
(defun counsel-find-file-from-jump ()
|
||||
"Switch to `counsel-find-file' from `counsel-file-jump'."
|
||||
(interactive)
|
||||
(ivy-quit-and-run
|
||||
(counsel-find-file ivy-text (ivy-state-directory ivy-last))))
|
||||
|
||||
;;;###autoload
|
||||
(defun counsel-file-jump (&optional initial-input initial-directory)
|
||||
"Jump to a file below the current directory.
|
||||
@@ -2863,6 +2914,7 @@ INITIAL-DIRECTORY, if non-nil, is used as the root directory for search."
|
||||
:preselect (counsel--preselect-file)
|
||||
:require-match 'confirm-after-completion
|
||||
:history 'file-name-history
|
||||
:keymap counsel-file-jump-map
|
||||
:caller 'counsel-file-jump)))
|
||||
|
||||
(ivy-set-actions
|
||||
@@ -2908,14 +2960,24 @@ INITIAL-DIRECTORY, if non-nil, is used as the root directory for search."
|
||||
(define-key map (kbd "C-x C-d") 'counsel-cd)
|
||||
map))
|
||||
|
||||
(defcustom counsel-ag-base-command "ag --vimgrep %s"
|
||||
"Format string to use in `counsel-ag-function' to construct the command.
|
||||
The %s will be replaced by optional extra ag arguments followed by the
|
||||
regex string."
|
||||
:type '(radio
|
||||
(const "ag --vimgrep %s")
|
||||
(const "ag --nocolor --nogroup %s")
|
||||
(string :tag "custom")))
|
||||
(defcustom counsel-ag-base-command (list "ag" "--vimgrep" "%s")
|
||||
"Template for default `counsel-ag' command.
|
||||
The value should be either a list of strings, starting with the
|
||||
`ag' executable file name and followed by its arguments, or a
|
||||
single string describing a full `ag' shell command.
|
||||
|
||||
If the command is specified as a list, `ag' is called directly
|
||||
using `process-file'; otherwise, it is called as a shell command.
|
||||
Calling `ag' directly avoids various shell quoting pitfalls, so
|
||||
it is generally recommended.
|
||||
|
||||
If the string \"%s\" appears as an element of the list, or as a
|
||||
substring of the command string, it is replaced by any optional
|
||||
`ag' arguments followed by the search regexp specified during the
|
||||
`counsel-ag' session."
|
||||
:package-version '(counsel . "0.14.0")
|
||||
:type '(choice (repeat :tag "Command list to call directly" string)
|
||||
(string :tag "Shell command")))
|
||||
|
||||
(defvar counsel-ag-command nil)
|
||||
|
||||
@@ -2973,11 +3035,11 @@ NEEDLE is the search string."
|
||||
(ivy-more-chars))
|
||||
(let* ((default-directory (ivy-state-directory ivy-last))
|
||||
(regex (counsel--grep-regex search-term))
|
||||
(switches (concat (car command-args)
|
||||
(counsel--ag-extra-switches regex)
|
||||
(if (ivy--case-fold-p string)
|
||||
(switches (concat (if (ivy--case-fold-p string)
|
||||
" -i "
|
||||
" -s "))))
|
||||
" -s ")
|
||||
(counsel--ag-extra-switches regex)
|
||||
(car command-args))))
|
||||
(counsel--async-command (counsel--format-ag-command
|
||||
switches
|
||||
(funcall (if (listp counsel-ag-command) #'identity
|
||||
@@ -2988,9 +3050,10 @@ NEEDLE is the search string."
|
||||
;;;###autoload
|
||||
(cl-defun counsel-ag (&optional initial-input initial-directory extra-ag-args ag-prompt
|
||||
&key caller)
|
||||
"Grep for a string in a root directory using ag.
|
||||
"Grep for a string in a root directory using `ag'.
|
||||
|
||||
By default, the root directory is the first directory containing a .git subdirectory.
|
||||
By default, the root directory is the first directory containing
|
||||
a .git subdirectory.
|
||||
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
@@ -3041,7 +3104,9 @@ prompt additionally for EXTRA-AG-ARGS."
|
||||
:exit-codes '(1 "No matches found"))
|
||||
|
||||
(defun counsel-read-directory-name (prompt &optional default)
|
||||
"Read a directory name from user, a (partial) replacement of `read-directory-name'."
|
||||
"Read a directory name.
|
||||
This is intended as a (partial) replacement for
|
||||
`read-directory-name'."
|
||||
(let ((counsel--find-file-predicate #'file-directory-p))
|
||||
(ivy-read prompt
|
||||
#'read-file-name-internal
|
||||
@@ -3080,8 +3145,9 @@ Works for `counsel-git-grep', `counsel-ag', etc."
|
||||
(ivy-occur-grep-mode)
|
||||
(setq default-directory (ivy-state-directory ivy-last)))
|
||||
(ivy-set-text
|
||||
(and (string-match "\"\\(.*\\)\"" (buffer-name))
|
||||
(match-string 1 (buffer-name))))
|
||||
(if (string-match "\"\\(.*\\)\"" (buffer-name))
|
||||
(match-string 1 (buffer-name))
|
||||
(ivy-state-text ivy-occur-last)))
|
||||
(let* ((cmd
|
||||
(if (functionp cmd-template)
|
||||
(funcall cmd-template ivy-text)
|
||||
@@ -3157,19 +3223,23 @@ This uses `counsel-ag' with `counsel-ack-base-command' replacing
|
||||
initial-input nil nil nil
|
||||
:caller 'counsel-ack)))
|
||||
|
||||
|
||||
;;** `counsel-rg'
|
||||
(defcustom counsel-rg-base-command
|
||||
(split-string
|
||||
(if (memq system-type '(ms-dos windows-nt))
|
||||
"rg -M 240 --with-filename --no-heading --line-number --color never %s --path-separator / ."
|
||||
"rg -M 240 --with-filename --no-heading --line-number --color never %s"))
|
||||
"Alternative to `counsel-ag-base-command' using ripgrep.
|
||||
`("rg"
|
||||
"--max-columns" "240"
|
||||
"--with-filename"
|
||||
"--no-heading"
|
||||
"--line-number"
|
||||
"--color" "never"
|
||||
"%s"
|
||||
,@(and (memq system-type '(ms-dos windows-nt))
|
||||
(list "--path-separator" "/" ".")))
|
||||
"Like `counsel-ag-base-command', but for `counsel-rg'.
|
||||
|
||||
Note: don't use single quotes for the regex."
|
||||
:type '(choice
|
||||
(repeat :tag "List to be used in `process-file'." string)
|
||||
(string :tag "String to be used in `shell-command-to-string'.")))
|
||||
Note: don't use single quotes for the regexp."
|
||||
:package-version '(counsel . "0.14.0")
|
||||
:type '(choice (repeat :tag "Command list to call directly" string)
|
||||
(string :tag "Shell command")))
|
||||
|
||||
(defun counsel--rg-targets ()
|
||||
"Return a list of files to operate on, based on `dired-mode' marks."
|
||||
@@ -3186,7 +3256,7 @@ Note: don't use single quotes for the regex."
|
||||
|
||||
;;;###autoload
|
||||
(defun counsel-rg (&optional initial-input initial-directory extra-rg-args rg-prompt)
|
||||
"Grep for a string in the current directory using rg.
|
||||
"Grep for a string in the current directory using `rg'.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input.
|
||||
INITIAL-DIRECTORY, if non-nil, is used as the root directory for search.
|
||||
EXTRA-RG-ARGS string, if non-nil, is appended to `counsel-rg-base-command'.
|
||||
@@ -4522,6 +4592,8 @@ Note: Duplicate elements of `kill-ring' are always deleted."
|
||||
:action #'counsel-yank-pop-action
|
||||
:caller 'counsel-yank-pop)))
|
||||
|
||||
(put #'counsel-yank-pop 'delete-selection 'yank)
|
||||
|
||||
(ivy-configure 'counsel-yank-pop
|
||||
:height 5
|
||||
:format-fn #'counsel--yank-pop-format-function)
|
||||
@@ -4764,6 +4836,7 @@ An extra action allows to switch to the process buffer."
|
||||
(ivy-read "History: " (ivy-history-contents minibuffer-history-variable)
|
||||
:keymap ivy-reverse-i-search-map
|
||||
:action (lambda (x)
|
||||
(delete-minibuffer-contents)
|
||||
(insert (substring-no-properties (car x))))
|
||||
:caller 'counsel-minibuffer-history)))
|
||||
|
||||
@@ -5188,7 +5261,7 @@ the face to apply."
|
||||
NAME specifies the name of the buffer (defaults to \"*Ibuffer*\")."
|
||||
(interactive)
|
||||
(setq counsel-ibuffer--buffer-name (or name "*Ibuffer*"))
|
||||
(ivy-read "Switch to buffer: " (counsel-ibuffer--get-buffers)
|
||||
(ivy-read "Switch to buffer: " (counsel--ibuffer-get-buffers)
|
||||
:history 'counsel-ibuffer-history
|
||||
:action #'counsel-ibuffer-visit-buffer
|
||||
:caller 'counsel-ibuffer))
|
||||
@@ -5198,8 +5271,10 @@ NAME specifies the name of the buffer (defaults to \"*Ibuffer*\")."
|
||||
(declare-function ibuffer-forward-line "ibuffer")
|
||||
(defvar ibuffer-movement-cycle)
|
||||
|
||||
(defun counsel-ibuffer--get-buffers ()
|
||||
"Return list of buffer-related lines in Ibuffer as strings."
|
||||
(defun counsel--ibuffer-get-buffers ()
|
||||
"Return an alist with buffer completion candidates from Ibuffer.
|
||||
The keys are buffer-related lines from Ibuffer as strings, and
|
||||
the values are the corresponding buffer objects."
|
||||
(let ((oldbuf (get-buffer counsel-ibuffer--buffer-name)))
|
||||
(unless oldbuf
|
||||
;; Avoid messing with the user's precious window/frame configuration.
|
||||
@@ -5229,11 +5304,11 @@ NAME specifies the name of the buffer (defaults to \"*Ibuffer*\")."
|
||||
|
||||
(defun counsel-ibuffer-visit-buffer (x)
|
||||
"Switch to buffer of candidate X."
|
||||
(switch-to-buffer (cdr x)))
|
||||
(switch-to-buffer (or (cdr-safe x) x)))
|
||||
|
||||
(defun counsel-ibuffer-visit-buffer-other-window (x)
|
||||
"Switch to buffer of candidate X in another window."
|
||||
(switch-to-buffer-other-window (cdr x)))
|
||||
(switch-to-buffer-other-window (or (cdr-safe x) x)))
|
||||
|
||||
(defun counsel-ibuffer-visit-ibuffer (_)
|
||||
"Switch to Ibuffer buffer."
|
||||
@@ -5398,6 +5473,9 @@ Return nil if NAME does not designate a valid color."
|
||||
'face (list :foreground fg :background hex))))
|
||||
formatter colors "\n")))
|
||||
|
||||
;; No longer preloaded in Emacs 28.
|
||||
(autoload 'list-colors-duplicates "facemenu")
|
||||
|
||||
;;;###autoload
|
||||
(defun counsel-colors-emacs ()
|
||||
"Show a list of all supported colors for a particular frame.
|
||||
@@ -5566,8 +5644,9 @@ value of a macro, using them for a new macro."
|
||||
|
||||
(defun counsel--kmacro-candidates ()
|
||||
"Create the list of keyboard macros used by `counsel-kmacro'.
|
||||
This is a combination of `kmacro-ring' and, together in a list, `last-kbd-macro',
|
||||
`kmacro-counter-format-start', and `kmacro-counter-value-start'."
|
||||
This is a combination of `kmacro-ring' and, together in a list,
|
||||
`last-kbd-macro', `kmacro-counter-format-start', and
|
||||
`kmacro-counter-value-start'."
|
||||
(mapcar
|
||||
(lambda (kmacro)
|
||||
(cons
|
||||
@@ -5628,7 +5707,10 @@ to 0."
|
||||
(kmacro-set-counter number)))
|
||||
|
||||
(defun counsel-kmacro-action-copy-counter-format-for-new-macro (x)
|
||||
"Set `kmacro-default-counter-format' to an existing keyboard macro's counter format.
|
||||
"Set the default keyboard macro counter format.
|
||||
This sets `kmacro-default-counter-format' to the counter format
|
||||
of an existing keyboard macro.
|
||||
|
||||
This will apply to the next macro a user defines."
|
||||
(let* ((actual-kmacro (cdr x))
|
||||
(format (nth 2 actual-kmacro)))
|
||||
|
||||
2207
lisp/crdt.el
172
lisp/ctable.el
@@ -1,11 +1,13 @@
|
||||
;;; ctable.el --- Table component for Emacs Lisp
|
||||
;;; ctable.el --- Table component for Emacs Lisp -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2011, 2012, 2013, 2014 SAKURAI Masashi
|
||||
;; Copyright (C) 2011-2021 SAKURAI Masashi
|
||||
|
||||
;; Author: SAKURAI Masashi <m.sakurai at kiwanami.net>
|
||||
;; URL: https://github.com/kiwanami/emacs-ctable
|
||||
;; Package-Version: 20171006.11
|
||||
;; Version: 0.1.2
|
||||
;; Package-Version: 20210128.629
|
||||
;; Package-Commit: 48b73742757a3ae5736d825fe49e00034cc453b5
|
||||
;; Version: 0.1.3
|
||||
;; Package-Requires: ((emacs "24.3") (cl-lib "0.5"))
|
||||
;; Keywords: table
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
@@ -42,7 +44,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'cl)
|
||||
(require 'cl-lib)
|
||||
|
||||
(declare-function popup-tip "popup")
|
||||
(declare-function pos-tip-show "pos-tip")
|
||||
@@ -50,7 +52,7 @@
|
||||
|
||||
;;; Models and Parameters
|
||||
|
||||
(defstruct ctbl:model
|
||||
(cl-defstruct ctbl:model
|
||||
"Table model structure
|
||||
|
||||
data : Table data as a list of rows. A row contains a list of columns.
|
||||
@@ -62,7 +64,7 @@ sort-state : The current sort order as a list of column indexes.
|
||||
data column-model sort-state)
|
||||
|
||||
|
||||
(defstruct ctbl:async-model
|
||||
(cl-defstruct ctbl:async-model
|
||||
"Asynchronous data model
|
||||
|
||||
request : Data request function which receives 4 arguments (begin-num length fn(row-list) fe(errmsg)).
|
||||
@@ -80,7 +82,7 @@ For forward compatibility, these callback functions should have a `&rest' keywor
|
||||
request (init-num 20) (more-num 20) reset cancel)
|
||||
|
||||
|
||||
(defstruct ctbl:cmodel
|
||||
(cl-defstruct ctbl:cmodel
|
||||
"Table column model structure
|
||||
|
||||
title : title string.
|
||||
@@ -96,7 +98,7 @@ click-hooks : a list of functions for header clicking with two arguments
|
||||
(click-hooks '(ctbl:cmodel-sort-action)))
|
||||
|
||||
|
||||
(defstruct ctbl:param
|
||||
(cl-defstruct ctbl:param
|
||||
"Rendering parameters
|
||||
|
||||
display-header : if t, display the header row with column models.
|
||||
@@ -209,14 +211,14 @@ Emacs init file:
|
||||
|
||||
(defun ctbl:uid ()
|
||||
"[internal] Generate an unique number."
|
||||
(incf ctbl:uid))
|
||||
(cl-incf ctbl:uid))
|
||||
|
||||
(defun ctbl:fill-keymap-property (begin end keymap)
|
||||
"[internal] Put the given text property to the region between BEGIN and END.
|
||||
If the text already has some keymap property, the text is skipped."
|
||||
(save-excursion
|
||||
(goto-char begin)
|
||||
(loop with pos = begin with nxt = nil
|
||||
(cl-loop with pos = begin with nxt = nil
|
||||
until (or (null pos) (<= end pos))
|
||||
when (get-text-property pos 'keymap) do
|
||||
(setq pos (next-single-property-change pos 'keymap))
|
||||
@@ -265,7 +267,7 @@ If data is an instance of `ctbl:async-model', this function do nothing."
|
||||
|
||||
;; Component
|
||||
|
||||
(defstruct ctbl:component
|
||||
(cl-defstruct ctbl:component
|
||||
"Component
|
||||
|
||||
This structure defines attributes of the table component.
|
||||
@@ -288,7 +290,7 @@ states : alist of arbitrary data for internal use"
|
||||
|
||||
;; Rendering Destination
|
||||
|
||||
(defstruct ctbl:dest
|
||||
(cl-defstruct ctbl:dest
|
||||
"Rendering Destination
|
||||
|
||||
This structure object is the abstraction of the rendering
|
||||
@@ -352,7 +354,7 @@ calculated from the window that shows BUF or the selected window.
|
||||
The component object is stored at the buffer local variable
|
||||
`ctbl:component'. CUSTOM-MAP is the additional keymap that is
|
||||
added to default keymap `ctbl:table-mode-map'."
|
||||
(lexical-let
|
||||
(let
|
||||
((buffer (or buf (get-buffer-create (format "*Table: %d*" (ctbl:uid)))))
|
||||
(window (or (and buf (get-buffer-window buf)) (selected-window)))
|
||||
dest)
|
||||
@@ -382,7 +384,7 @@ space. This destination is employed to be embedded in the some
|
||||
application buffer. Because this destination does not set up
|
||||
any modes and key maps for the buffer, the application that uses
|
||||
the ctable is responsible to manage the buffer and key maps."
|
||||
(lexical-let
|
||||
(let
|
||||
((mark-begin mark-begin) (mark-end mark-end)
|
||||
(window (or (get-buffer-window buf) (selected-window))))
|
||||
(make-ctbl:dest
|
||||
@@ -409,7 +411,7 @@ the ctable is responsible to manage the buffer and key maps."
|
||||
|
||||
(defun ctbl:dest-init-inline (width height)
|
||||
"Create a text destination."
|
||||
(lexical-let
|
||||
(let
|
||||
((buffer (get-buffer-create ctbl:dest-background-buffer))
|
||||
(window (selected-window))
|
||||
dest)
|
||||
@@ -430,7 +432,7 @@ the ctable is responsible to manage the buffer and key maps."
|
||||
|
||||
(defun ctbl:dest-ol-selection-clear (dest)
|
||||
"[internal] Clear the selection overlays on the current table view."
|
||||
(loop for i in (ctbl:dest-select-ol dest)
|
||||
(cl-loop for i in (ctbl:dest-select-ol dest)
|
||||
do (delete-overlay i))
|
||||
(setf (ctbl:dest-select-ol dest) nil))
|
||||
|
||||
@@ -438,7 +440,7 @@ the ctable is responsible to manage the buffer and key maps."
|
||||
"[internal] Put a selection overlay on CELL-ID. The selection overlay can be
|
||||
put on some cells, calling this function many times. This
|
||||
function does not manage the selections, just put the overlay."
|
||||
(lexical-let (ols (row-id (car cell-id)) (col-id (cdr cell-id)))
|
||||
(let (ols (row-id (car cell-id)) (col-id (cdr cell-id)))
|
||||
(ctbl:dest-with-region dest
|
||||
(ctbl:find-all-by-row-id
|
||||
dest row-id
|
||||
@@ -583,7 +585,7 @@ HOOK is a function that has no argument."
|
||||
;; asynchronous model
|
||||
((ctbl:async-model-p
|
||||
(ctbl:model-data (ctbl:component-model component)))
|
||||
(lexical-let ((cp component))
|
||||
(let ((cp component))
|
||||
(ctbl:async-state-on-update cp)
|
||||
(ctbl:render-async-main
|
||||
dest
|
||||
@@ -622,21 +624,21 @@ HOOK is a function that has no argument."
|
||||
|
||||
(defun ctbl:cp-fire-click-hooks (component)
|
||||
"[internal] Call click hook functions of the component with no arguments."
|
||||
(loop for f in (ctbl:component-click-hooks component)
|
||||
(cl-loop for f in (ctbl:component-click-hooks component)
|
||||
do (condition-case err
|
||||
(funcall f)
|
||||
(error (message "CTable: Click / Hook error %S [%s]" f err)))))
|
||||
|
||||
(defun ctbl:cp-fire-selection-change-hooks (component)
|
||||
"[internal] Call selection change hook functions of the component with no arguments."
|
||||
(loop for f in (ctbl:component-selection-change-hooks component)
|
||||
(cl-loop for f in (ctbl:component-selection-change-hooks component)
|
||||
do (condition-case err
|
||||
(funcall f)
|
||||
(error (message "CTable: Selection change / Hook error %S [%s]" f err)))))
|
||||
|
||||
(defun ctbl:cp-fire-update-hooks (component)
|
||||
"[internal] Call update hook functions of the component with no arguments."
|
||||
(loop for f in (ctbl:component-update-hooks component)
|
||||
(cl-loop for f in (ctbl:component-update-hooks component)
|
||||
do (condition-case err
|
||||
(funcall f)
|
||||
(error (message "Ctable: Update / Hook error %S [%s]" f err)))))
|
||||
@@ -649,18 +651,18 @@ HOOK is a function that has no argument."
|
||||
(max (ctbl:dest-point-max dest))
|
||||
(mid (/ (+ min max) 2)))
|
||||
(save-excursion
|
||||
(loop for next = (next-single-property-change mid 'ctbl:cell-id nil max)
|
||||
(cl-loop for next = (next-single-property-change mid 'ctbl:cell-id nil max)
|
||||
for cur-row-id = (and next (car (ctbl:cursor-to-cell next)))
|
||||
do
|
||||
(cond
|
||||
((>= next max) (return (point)))
|
||||
((>= next max) (cl-return (point)))
|
||||
((null cur-row-id) (setq mid next))
|
||||
((= cur-row-id row-id)
|
||||
(goto-char mid) (beginning-of-line)
|
||||
(return (point)))
|
||||
(cl-return (point)))
|
||||
((and (< row-id-lim cur-row-id) (< cur-row-id row-id))
|
||||
(goto-char mid) (beginning-of-line) (forward-line)
|
||||
(return (point)))
|
||||
(cl-return (point)))
|
||||
((< cur-row-id row-id)
|
||||
(setq min mid)
|
||||
(setq mid (/ (+ min max) 2)))
|
||||
@@ -672,13 +674,13 @@ HOOK is a function that has no argument."
|
||||
"[internal] Return a point where the text property `ctbl:cell-id'
|
||||
is equal to cell-id in the current table view. If CELL-ID is not
|
||||
found in the current view, return nil."
|
||||
(loop with pos = (ctbl:find-position-fast dest cell-id)
|
||||
(cl-loop with pos = (ctbl:find-position-fast dest cell-id)
|
||||
with end = (ctbl:dest-point-max dest)
|
||||
for next = (next-single-property-change pos 'ctbl:cell-id nil end)
|
||||
for text-cell = (and next (ctbl:cursor-to-cell next))
|
||||
while (and next (< next end)) do
|
||||
(if (and text-cell (equal cell-id text-cell))
|
||||
(return next))
|
||||
(cl-return next))
|
||||
(setq pos next)))
|
||||
|
||||
(defun ctbl:find-all-by-cell-id (dest cell-id func)
|
||||
@@ -686,7 +688,7 @@ found in the current view, return nil."
|
||||
text-property `ctbl:cell-id' is equal to CELL-ID. The argument function FUNC
|
||||
receives two arguments, begin position and end one. This function is
|
||||
mainly used at functions for putting overlays."
|
||||
(loop with pos = (ctbl:find-position-fast dest cell-id)
|
||||
(cl-loop with pos = (ctbl:find-position-fast dest cell-id)
|
||||
with end = (ctbl:dest-point-max dest)
|
||||
for next = (next-single-property-change pos 'ctbl:cell-id nil end)
|
||||
for text-id = (and next (ctbl:cursor-to-cell next))
|
||||
@@ -694,7 +696,7 @@ mainly used at functions for putting overlays."
|
||||
(if (and text-id (equal cell-id text-id))
|
||||
(let ((cend (next-single-property-change
|
||||
next 'ctbl:cell-id nil end)))
|
||||
(return (funcall func next cend))))
|
||||
(cl-return (funcall func next cend))))
|
||||
(setq pos next)))
|
||||
|
||||
(defun ctbl:find-all-by-row-id (dest row-id func)
|
||||
@@ -703,7 +705,7 @@ row-id of the text-property `ctbl:cell-id' is equal to
|
||||
ROW-ID. The argument function FUNC receives three arguments,
|
||||
cell-id, begin position and end one. This function is mainly used
|
||||
at functions for putting overlays."
|
||||
(loop with pos = (ctbl:find-position-fast dest (cons row-id nil))
|
||||
(cl-loop with pos = (ctbl:find-position-fast dest (cons row-id nil))
|
||||
with end = (ctbl:dest-point-max dest)
|
||||
for next = (next-single-property-change pos 'ctbl:cell-id nil end)
|
||||
for text-id = (and next (ctbl:cursor-to-cell next))
|
||||
@@ -715,7 +717,7 @@ at functions for putting overlays."
|
||||
next 'ctbl:cell-id nil end)))
|
||||
(funcall func text-id next cend)))
|
||||
((< row-id (car text-id))
|
||||
(return nil))))
|
||||
(cl-return nil))))
|
||||
(setq pos next)))
|
||||
|
||||
(defun ctbl:find-first-cell (dest)
|
||||
@@ -752,7 +754,7 @@ bug), this function may return nil."
|
||||
(if (null cmds) (ctbl:cursor-to-cell)
|
||||
(ignore-errors
|
||||
(funcall (car cmds)) (funcall get (cdr cmds)))))))
|
||||
(or (loop for i in `((,d) (,r) (,u) (,l)
|
||||
(or (cl-loop for i in `((,d) (,r) (,u) (,l)
|
||||
(,d ,r) (,d ,l) (,u ,r) (,u ,l)
|
||||
(,d ,d) (,r ,r) (,u ,u) (,l ,l))
|
||||
for id = (funcall get i)
|
||||
@@ -849,7 +851,7 @@ bug), this function may return nil."
|
||||
(ctbl:navi-goto-cell
|
||||
(ctbl:cell-id
|
||||
row-id
|
||||
(position col-name col-names :test 'equal))))))
|
||||
(cl-position col-name col-names :test 'equal))))))
|
||||
|
||||
(defun ctbl:action-update-buffer ()
|
||||
"Update action for the latest table model."
|
||||
@@ -868,7 +870,7 @@ bug), this function may return nil."
|
||||
(defun ctbl:fire-column-header-action (cp col-id)
|
||||
"[internal] Execute action handlers on the header columns."
|
||||
(when (and cp col-id)
|
||||
(loop with cmodel = (nth col-id (ctbl:model-column-model (ctbl:cp-get-model cp)))
|
||||
(cl-loop with cmodel = (nth col-id (ctbl:model-column-model (ctbl:cp-get-model cp)))
|
||||
for f in (ctbl:cmodel-click-hooks cmodel)
|
||||
do (condition-case err
|
||||
(funcall f cp col-id)
|
||||
@@ -877,7 +879,7 @@ bug), this function may return nil."
|
||||
|
||||
(defun ctbl:render-column-header-keymap (col-id)
|
||||
"[internal] Generate action handler on the header columns. (for header-line-format)"
|
||||
(lexical-let ((col-id col-id))
|
||||
(let ((col-id col-id))
|
||||
(let ((keymap (copy-keymap ctbl:column-header-keymap)))
|
||||
(define-key keymap [header-line mouse-1]
|
||||
(lambda ()
|
||||
@@ -953,8 +955,8 @@ bug), this function may return nil."
|
||||
"[internal] Return a list of rows. This function makes side effects:
|
||||
cell widths are stored at COLUMN-WIDTHS, longer cell strings are truncated by
|
||||
maximum width of the column models."
|
||||
(loop for row in rows collect
|
||||
(loop for c in row
|
||||
(cl-loop for row in rows collect
|
||||
(cl-loop for c in row
|
||||
for cm in cmodels
|
||||
for cwmax = (ctbl:cmodel-max-width cm)
|
||||
for i from 0
|
||||
@@ -976,7 +978,7 @@ function expands columns. The residual width is distributed over
|
||||
the columns. If TOTAL-WIDTHS is longer than sum of
|
||||
COLUMN-WIDTHS, this function shrinks columns to reduce the
|
||||
surplus width."
|
||||
(let ((init-total (loop for i in column-widths sum i)))
|
||||
(let ((init-total (cl-loop for i in column-widths sum i)))
|
||||
(cond
|
||||
((or (null total-width)
|
||||
(= total-width init-total)) column-widths)
|
||||
@@ -990,58 +992,58 @@ surplus width."
|
||||
(defun ctbl:render-adjust-cell-width-shrink (cmodels column-widths total-width init-total )
|
||||
"[internal] shrink column widths."
|
||||
(let* ((column-widths (copy-sequence column-widths))
|
||||
(column-indexes (loop for i from 0 below (length cmodels) collect i))
|
||||
(column-indexes (cl-loop for i from 0 below (length cmodels) collect i))
|
||||
(residual (- init-total total-width)))
|
||||
(loop for cnum = (length column-indexes)
|
||||
(cl-loop for cnum = (length column-indexes)
|
||||
until (or (= 0 cnum) (= 0 residual))
|
||||
do
|
||||
(loop with ave-shrink = (max 1 (/ residual cnum))
|
||||
(cl-loop with ave-shrink = (max 1 (/ residual cnum))
|
||||
for idx in column-indexes
|
||||
for cmodel = (nth idx cmodels)
|
||||
for cwidth = (nth idx column-widths)
|
||||
for min-width = (or (ctbl:cmodel-min-width cmodel) 1)
|
||||
do
|
||||
(cond
|
||||
((<= residual 0) (return)) ; complete
|
||||
((<= residual 0) (cl-return)) ; complete
|
||||
((<= cwidth min-width) ; reject
|
||||
(setq column-indexes (delete idx column-indexes)))
|
||||
(t ; reduce
|
||||
(let ((next-width (max 1 (- cwidth ave-shrink))))
|
||||
(incf residual (- next-width cwidth))
|
||||
(cl-incf residual (- next-width cwidth))
|
||||
(setf (nth idx column-widths) next-width))))))
|
||||
column-widths))
|
||||
|
||||
(defun ctbl:render-adjust-cell-width-expand (cmodels column-widths total-width init-total )
|
||||
"[internal] expand column widths."
|
||||
(let* ((column-widths (copy-sequence column-widths))
|
||||
(column-indexes (loop for i from 0 below (length cmodels) collect i))
|
||||
(column-indexes (cl-loop for i from 0 below (length cmodels) collect i))
|
||||
(residual (- total-width init-total)))
|
||||
(loop for cnum = (length column-indexes)
|
||||
(cl-loop for cnum = (length column-indexes)
|
||||
until (or (= 0 cnum) (= 0 residual))
|
||||
do
|
||||
(loop with ave-expand = (max 1 (/ residual cnum))
|
||||
(cl-loop with ave-expand = (max 1 (/ residual cnum))
|
||||
for idx in column-indexes
|
||||
for cmodel = (nth idx cmodels)
|
||||
for cwidth = (nth idx column-widths)
|
||||
for max-width = (or (ctbl:cmodel-max-width cmodel) total-width)
|
||||
do
|
||||
(cond
|
||||
((<= residual 0) (return)) ; complete
|
||||
((<= residual 0) (cl-return)) ; complete
|
||||
((<= max-width cwidth) ; reject
|
||||
(setq column-indexes (delete idx column-indexes)))
|
||||
(t ; expand
|
||||
(let ((next-width (min max-width (+ cwidth ave-expand))))
|
||||
(incf residual (- cwidth next-width))
|
||||
(cl-incf residual (- cwidth next-width))
|
||||
(setf (nth idx column-widths) next-width))))))
|
||||
column-widths))
|
||||
|
||||
(defun ctbl:render-get-formats (cmodels column-widths)
|
||||
"[internal] Return a list of the format functions."
|
||||
(loop for cw in column-widths
|
||||
(cl-loop for cw in column-widths
|
||||
for cm in cmodels
|
||||
for al = (ctbl:cmodel-align cm)
|
||||
collect
|
||||
(lexical-let ((cw cw))
|
||||
(let ((cw cw))
|
||||
(cond
|
||||
((eq al 'left)
|
||||
(lambda (s) (ctbl:format-left cw s)))
|
||||
@@ -1140,7 +1142,7 @@ surplus width."
|
||||
(ctbl:render-hline-color
|
||||
(concat
|
||||
(if (ctbl:render-draw-vline-p model vparam 0) left)
|
||||
(loop with ret = nil with endi = (length column-widths)
|
||||
(cl-loop with ret = nil with endi = (length column-widths)
|
||||
for cw in column-widths
|
||||
for ci from 1
|
||||
for endp = (equal ci endi)
|
||||
@@ -1163,7 +1165,7 @@ surplus width."
|
||||
(list (ctbl:render-vline-color V model param 0))
|
||||
nil))
|
||||
;; content line
|
||||
(loop with param-vl = (ctbl:param-draw-vlines param)
|
||||
(cl-loop with param-vl = (ctbl:param-draw-vlines param)
|
||||
with param-vc = (ctbl:param-vline-colors param)
|
||||
with endi = (length columns)
|
||||
for i from 1 for endp = (equal i endi)
|
||||
@@ -1187,20 +1189,20 @@ surplus width."
|
||||
(let ((sum 0))
|
||||
;; left border line
|
||||
(when (ctbl:render-draw-vline-p model (ctbl:param-draw-vlines param) 0)
|
||||
(incf sum))
|
||||
(cl-incf sum))
|
||||
;; content line
|
||||
(loop with param-vl = (ctbl:param-draw-vlines param)
|
||||
(cl-loop with param-vl = (ctbl:param-draw-vlines param)
|
||||
with endi = (length cmodels)
|
||||
for i from 1 upto (length cmodels)
|
||||
for endp = (equal i endi) do
|
||||
(when (and (ctbl:render-draw-vline-p
|
||||
model (ctbl:param-draw-vlines param) i)
|
||||
(not endp))
|
||||
(incf sum)))
|
||||
(cl-incf sum)))
|
||||
;; right border line
|
||||
(when (ctbl:render-draw-vline-p
|
||||
model (ctbl:param-draw-vlines param) -1)
|
||||
(incf sum))
|
||||
(cl-incf sum))
|
||||
sum))
|
||||
|
||||
(defun ctbl:dest-width-get (dest)
|
||||
@@ -1232,7 +1234,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
(copy-sequence (ctbl:model-data model)) cmodels
|
||||
(ctbl:model-sort-state model)))
|
||||
(column-widths
|
||||
(loop for c in cmodels
|
||||
(cl-loop for c in cmodels
|
||||
for title = (ctbl:cmodel-title c)
|
||||
collect (max (or (ctbl:cmodel-min-width c) 0)
|
||||
(or (and title (length title)) 0))))
|
||||
@@ -1262,7 +1264,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
(let ((EOL "\n")
|
||||
(header-string
|
||||
(ctbl:render-join-columns
|
||||
(loop for cm in cmodels
|
||||
(cl-loop for cm in cmodels
|
||||
for i from 0
|
||||
for cw in column-widths
|
||||
collect
|
||||
@@ -1296,7 +1298,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
(unless begin-index
|
||||
(setq begin-index 0))
|
||||
(let ((EOL "\n") (row-num (length rows)))
|
||||
(loop for cols in rows
|
||||
(cl-loop for cols in rows
|
||||
for row-index from begin-index
|
||||
do
|
||||
(insert
|
||||
@@ -1304,7 +1306,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
column-widths model param (1+ row-index)))
|
||||
(insert
|
||||
(ctbl:render-join-columns
|
||||
(loop for i in cols
|
||||
(cl-loop for i in cols
|
||||
for s = (if (stringp i) i (format "%s" i))
|
||||
for fmt in column-formats
|
||||
for cw in column-widths
|
||||
@@ -1334,7 +1336,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
|
||||
;; async data / internal state
|
||||
|
||||
(defstruct ctbl:async-state
|
||||
(cl-defstruct ctbl:async-state
|
||||
"Rendering State [internal]
|
||||
|
||||
status : symbol ->
|
||||
@@ -1365,7 +1367,7 @@ panel-end : end mark object for status panel
|
||||
(amodel (ctbl:model-data (ctbl:cp-get-model cp)))
|
||||
(astate (ctbl:cp-states-get cp 'async-state)))
|
||||
(when cp
|
||||
(case (ctbl:async-state-status astate)
|
||||
(cl-case (ctbl:async-state-status astate)
|
||||
('normal
|
||||
(ctbl:render-async-continue cp))
|
||||
('requested
|
||||
@@ -1395,7 +1397,7 @@ panel-end : end mark object for status panel
|
||||
(goto-char begin)
|
||||
(insert
|
||||
(propertize
|
||||
(case (ctbl:async-state-status astate)
|
||||
(cl-case (ctbl:async-state-status astate)
|
||||
('done
|
||||
(ctbl:format-center width "No more data."))
|
||||
('requested
|
||||
@@ -1428,7 +1430,7 @@ panel-end : end mark object for status panel
|
||||
(defun ctbl:render-async-main (dest model param rows-setter)
|
||||
"[internal] Rendering the table view for async data model.
|
||||
This function assumes that the current buffer is the destination buffer."
|
||||
(lexical-let*
|
||||
(let*
|
||||
((dest dest) (model model) (param param) (rows-setter rows-setter)
|
||||
(amodel (ctbl:model-data model)) (buf (current-buffer))
|
||||
(cmodels (ctbl:model-column-model model)))
|
||||
@@ -1439,7 +1441,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
(with-current-buffer buf
|
||||
(let (buffer-read-only drows column-formats
|
||||
(column-widths
|
||||
(loop for c in cmodels
|
||||
(cl-loop for c in cmodels
|
||||
for title = (ctbl:cmodel-title c)
|
||||
collect (max (or (ctbl:cmodel-min-width c) 0)
|
||||
(or (and title (length title)) 0))))
|
||||
@@ -1466,7 +1468,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
(make-ctbl:async-state
|
||||
:status 'normal
|
||||
:actual-width (+ (ctbl:render-sum-vline-widths cmodels model param)
|
||||
(loop for i in column-widths sum i))
|
||||
(cl-loop for i in column-widths sum i))
|
||||
:column-widths column-widths :column-formats column-formats
|
||||
:next-index (length rows)
|
||||
:panel-begin mark-panel-begin :panel-end mark-panel-end))
|
||||
@@ -1478,7 +1480,7 @@ This function assumes that the current buffer is the destination buffer."
|
||||
|
||||
(defun ctbl:render-async-continue (component)
|
||||
"[internal] Rendering subsequent data asynchronously."
|
||||
(lexical-let*
|
||||
(let*
|
||||
((cp component) (dest (ctbl:component-dest cp)) (buf (current-buffer))
|
||||
(model (ctbl:cp-get-model cp))
|
||||
(amodel (ctbl:model-data model))
|
||||
@@ -1538,7 +1540,7 @@ to urge async data model to request next data chunk."
|
||||
(defun ctbl:async-model-wrapper (rows &optional init-num more-num)
|
||||
"This function wraps a list of row data in an asynchronous data
|
||||
model so as to avoid Emacs freezing with a large number of rows."
|
||||
(lexical-let ((rows rows) (rest-rows rows)
|
||||
(let ((rows rows) (rest-rows rows)
|
||||
(init-num (or init-num 100))
|
||||
(more-num (or more-num 100)))
|
||||
(make-ctbl:async-model
|
||||
@@ -1550,13 +1552,13 @@ model so as to avoid Emacs freezing with a large number of rows."
|
||||
((null rest-rows) nil)
|
||||
(t
|
||||
(nreverse
|
||||
(loop with pos = rest-rows
|
||||
(cl-loop with pos = rest-rows
|
||||
with ret = nil
|
||||
for i from 0 below len
|
||||
do
|
||||
(push (car pos) ret)
|
||||
(setq pos (cdr pos))
|
||||
(unless pos (return ret))
|
||||
(unless pos (cl-return ret))
|
||||
finally return ret)))))
|
||||
(when rest-rows
|
||||
(setq rest-rows (nthcdr len rest-rows))))
|
||||
@@ -1690,7 +1692,7 @@ sides with the character PADDING."
|
||||
(let*
|
||||
((comparator
|
||||
(lambda (ref)
|
||||
(lexical-let
|
||||
(let
|
||||
((ref ref)
|
||||
(f (or (ctbl:cmodel-sorter (nth ref cmodels))
|
||||
'ctbl:sort-string-lessp)))
|
||||
@@ -1698,24 +1700,24 @@ sides with the character PADDING."
|
||||
(funcall f (nth ref i) (nth ref j))))))
|
||||
(negative-comparator
|
||||
(lambda (ref)
|
||||
(lexical-let ((cp (funcall comparator ref)))
|
||||
(let ((cp (funcall comparator ref)))
|
||||
(lambda (i j) (- (funcall cp i j))))))
|
||||
(to-bool
|
||||
(lambda (f)
|
||||
(lexical-let ((f f))
|
||||
(let ((f f))
|
||||
(lambda (i j)
|
||||
(< (funcall f i j) 0)))))
|
||||
(chain
|
||||
(lambda (fs)
|
||||
(lexical-let ((fs fs))
|
||||
(let ((fs fs))
|
||||
(lambda (i j)
|
||||
(loop for f in fs
|
||||
(cl-loop for f in fs
|
||||
for v = (funcall f i j)
|
||||
unless (eq 0 v)
|
||||
return v
|
||||
finally return 0))))))
|
||||
(sort rows
|
||||
(loop with fs = nil
|
||||
(cl-loop with fs = nil
|
||||
for o in (reverse (copy-sequence orders))
|
||||
for gen = (if (< 0 o) comparator negative-comparator)
|
||||
for f = (funcall gen (1- (abs o)))
|
||||
@@ -1737,7 +1739,7 @@ sides with the character PADDING."
|
||||
|
||||
;; buffer
|
||||
|
||||
(defun* ctbl:open-table-buffer(&key buffer width height custom-map model param)
|
||||
(cl-defun ctbl:open-table-buffer (&key buffer width height custom-map model param)
|
||||
"Open a table buffer simply.
|
||||
This function uses the function
|
||||
`ctbl:create-table-component-buffer' internally."
|
||||
@@ -1746,7 +1748,7 @@ This function uses the function
|
||||
:custom-map custom-map :model model :param param)))
|
||||
(switch-to-buffer (ctbl:cp-get-buffer cp))))
|
||||
|
||||
(defun* ctbl:create-table-component-buffer(&key buffer width height custom-map model param)
|
||||
(cl-defun ctbl:create-table-component-buffer (&key buffer width height custom-map model param)
|
||||
"Return a table buffer with some customize parameters.
|
||||
|
||||
This function binds the component object at the
|
||||
@@ -1797,9 +1799,9 @@ CUSTOM-MAP is the additional keymap that is added to default keymap `ctbl:table-
|
||||
(and (car rows) (length (car rows)))))
|
||||
(column-models
|
||||
(if header-row
|
||||
(loop for i in header-row
|
||||
(cl-loop for i in header-row
|
||||
collect (make-ctbl:cmodel :title (format "%s" i) :min-width 5))
|
||||
(loop for i from 0 below col-num
|
||||
(cl-loop for i from 0 below col-num
|
||||
for ch = (char-to-string (+ ?A i))
|
||||
collect (make-ctbl:cmodel :title ch :min-width 5)))))
|
||||
(make-ctbl:model
|
||||
@@ -1807,7 +1809,7 @@ CUSTOM-MAP is the additional keymap that is added to default keymap `ctbl:table-
|
||||
|
||||
;; region
|
||||
|
||||
(defun* ctbl:create-table-component-region(&key width height keymap model param)
|
||||
(cl-defun ctbl:create-table-component-region (&key width height keymap model param)
|
||||
"Insert markers of the rendering destination at current point and display the table view.
|
||||
|
||||
This function returns a component object and stores it at the text property `ctbl:component'.
|
||||
@@ -1822,7 +1824,7 @@ KEYMAP is the keymap that is put to the text property `keymap'. If KEYMAP is nil
|
||||
(let* ((dest (ctbl:dest-init-region (current-buffer) mark-begin mark-end width height))
|
||||
(cp (ctbl:cp-new dest model param))
|
||||
(after-update-func
|
||||
(lexical-let ((keymap keymap) (cp cp))
|
||||
(let ((keymap keymap) (cp cp))
|
||||
(lambda ()
|
||||
(ctbl:dest-with-region (ctbl:component-dest cp)
|
||||
(let (buffer-read-only)
|
||||
@@ -1838,7 +1840,7 @@ KEYMAP is the keymap that is put to the text property `keymap'. If KEYMAP is nil
|
||||
|
||||
;; inline
|
||||
|
||||
(defun* ctbl:get-table-text(&key width height model param)
|
||||
(cl-defun ctbl:get-table-text (&key width height model param)
|
||||
"Return a text that is drew the table view.
|
||||
|
||||
In this case, the rendering destination object is disposable. So,
|
||||
@@ -1913,7 +1915,7 @@ WIDTH and HEIGHT are reference size of the table view."
|
||||
(ctbl:cp-add-update-hook cp (lambda () (message "CTable : Update Hook")))
|
||||
(switch-to-buffer (ctbl:cp-get-buffer cp)))))
|
||||
|
||||
;; (progn (eval-current-buffer) (ctbl:demo))
|
||||
;; (progn (eval-buffer) (ctbl:demo))
|
||||
|
||||
(provide 'ctable)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; colir.el --- Color blending library -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2019 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2015-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; ivy-faces.el --- Faces for Ivy -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2020 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2020-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; Keywords: convenience
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; ivy-overlay.el --- Overlay display functions for Ivy -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2016-2019 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2016-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; Keywords: convenience
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
(define-package "ivy" "20210105.2002" "Incremental Vertical completYon"
|
||||
(define-package "ivy" "20211231.1730" "Incremental Vertical completYon"
|
||||
'((emacs "24.5"))
|
||||
:commit "71c59aecf669142ebe264fac8ff7b440c0c71712" :authors
|
||||
:commit "c97ea72285f2428ed61b519269274d27f2b695f9" :authors
|
||||
'(("Oleh Krehel" . "ohwoeowho@gmail.com"))
|
||||
:maintainer
|
||||
'("Oleh Krehel" . "ohwoeowho@gmail.com")
|
||||
|
||||
362
lisp/ivy/ivy.el
@@ -1,10 +1,10 @@
|
||||
;;; ivy.el --- Incremental Vertical completYon -*- lexical-binding: t -*-
|
||||
|
||||
;; Copyright (C) 2015-2020 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2015-2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Oleh Krehel <ohwoeowho@gmail.com>
|
||||
;; URL: https://github.com/abo-abo/swiper
|
||||
;; Version: 0.13.0
|
||||
;; Version: 0.13.4
|
||||
;; Package-Requires: ((emacs "24.5"))
|
||||
;; Keywords: matching
|
||||
|
||||
@@ -99,7 +99,8 @@ a behavior similar to `swiper'."
|
||||
The usual reason for `ivy-backward-delete-char' to fail is when
|
||||
there is no text left to delete, i.e., when it is called at the
|
||||
beginning of the minibuffer.
|
||||
The default setting provides a quick exit from completion."
|
||||
The default setting provides a quick exit from completion.
|
||||
Another common option is `ignore', which does nothing."
|
||||
:type '(choice
|
||||
(const :tag "Exit completion" abort-recursive-edit)
|
||||
(const :tag "Do nothing" ignore)
|
||||
@@ -695,29 +696,33 @@ candidate, not the prompt."
|
||||
(if (ivy--prompt-selected-p)
|
||||
(ivy-immediate-done)
|
||||
(setq ivy-current-prefix-arg current-prefix-arg)
|
||||
(delete-minibuffer-contents)
|
||||
(cond ((and (= ivy--length 0)
|
||||
(eq this-command 'ivy-dispatching-done))
|
||||
(ivy--done ivy-text))
|
||||
((or (> ivy--length 0)
|
||||
;; the action from `ivy-dispatching-done' may not need a
|
||||
;; candidate at all
|
||||
(eq this-command 'ivy-dispatching-done))
|
||||
(ivy--done (ivy-state-current ivy-last)))
|
||||
((and (memq (ivy-state-collection ivy-last)
|
||||
'(read-file-name-internal internal-complete-buffer))
|
||||
(eq confirm-nonexistent-file-or-buffer t)
|
||||
(not (string= " (confirm)" ivy--prompt-extra)))
|
||||
(setq ivy--prompt-extra " (confirm)")
|
||||
(insert ivy-text)
|
||||
(ivy--exhibit))
|
||||
((memq (ivy-state-require-match ivy-last)
|
||||
'(nil confirm confirm-after-completion))
|
||||
(ivy--done ivy-text))
|
||||
(t
|
||||
(setq ivy--prompt-extra " (match required)")
|
||||
(insert ivy-text)
|
||||
(ivy--exhibit)))))
|
||||
(let ((require-match (ivy-state-require-match ivy-last))
|
||||
(input (ivy--input)))
|
||||
(delete-minibuffer-contents)
|
||||
(cond ((and (= ivy--length 0)
|
||||
(eq this-command 'ivy-dispatching-done))
|
||||
(ivy--done ivy-text))
|
||||
((or (> ivy--length 0)
|
||||
;; the action from `ivy-dispatching-done' may not need a
|
||||
;; candidate at all
|
||||
(eq this-command 'ivy-dispatching-done))
|
||||
(ivy--done (ivy-state-current ivy-last)))
|
||||
((string= " (confirm)" ivy--prompt-extra)
|
||||
(ivy--done ivy-text))
|
||||
((or (and (memq (ivy-state-collection ivy-last)
|
||||
'(read-file-name-internal internal-complete-buffer))
|
||||
(eq confirm-nonexistent-file-or-buffer t))
|
||||
(and (functionp require-match)
|
||||
(setq require-match (funcall require-match))))
|
||||
(setq ivy--prompt-extra " (confirm)")
|
||||
(insert input)
|
||||
(ivy--exhibit))
|
||||
((memq require-match '(nil confirm confirm-after-completion))
|
||||
(ivy--done ivy-text))
|
||||
(t
|
||||
(setq ivy--prompt-extra " (match required)")
|
||||
(insert ivy-text)
|
||||
(ivy--exhibit))))))
|
||||
|
||||
(defvar ivy-mouse-1-tooltip
|
||||
"Exit the minibuffer with the selected candidate."
|
||||
@@ -783,10 +788,11 @@ key (a string), cmd and doc (a string)."
|
||||
"\n")))
|
||||
|
||||
(defun ivy-read-action-format-columns (actions)
|
||||
"Create a docstring from ACTIONS, using several columns if needed to preserve `ivy-height'.
|
||||
"Create a potentially multi-column docstring from ACTIONS.
|
||||
Several columns are used as needed to preserve `ivy-height'.
|
||||
|
||||
ACTIONS is a list. Each list item is a list of 3 items: key (a
|
||||
string), cmd and doc (a string)."
|
||||
ACTIONS is a list with elements of the form (KEY COMMAND DOC),
|
||||
where KEY and DOC are strings."
|
||||
(let ((length (length actions))
|
||||
(i 0)
|
||||
(max-rows (- ivy-height 1))
|
||||
@@ -854,7 +860,8 @@ selection, non-nil otherwise."
|
||||
(cdr actions)))
|
||||
(not (string= key (car (nth action-idx (cdr actions))))))
|
||||
(setq key (concat key (key-description (vector (read-key hint))))))
|
||||
(ivy-shrink-after-dispatching)
|
||||
;; Ignore resize errors with minibuffer-only frames (#2726).
|
||||
(ignore-errors (ivy-shrink-after-dispatching))
|
||||
(cond ((member key '("ESC" "C-g" "M-o"))
|
||||
nil)
|
||||
((null action-idx)
|
||||
@@ -932,10 +939,10 @@ Is is a cons cell, related to `tramp-get-completion-function'."
|
||||
:type '(alist :key-type symbol :value-type function))
|
||||
|
||||
(defun ivy--completing-fname-p ()
|
||||
(eq 'file (cdr (assoc
|
||||
'category
|
||||
(ignore-errors
|
||||
(funcall (ivy-state-collection ivy-last) ivy-text nil 'metadata))))))
|
||||
(let ((meta (ignore-errors
|
||||
(funcall (ivy-state-collection ivy-last) ivy-text nil 'metadata))))
|
||||
(and (consp meta)
|
||||
(eq 'file (cdr (assoc 'category meta))))))
|
||||
|
||||
(defun ivy-alt-done (&optional arg)
|
||||
"Exit the minibuffer with the selected candidate.
|
||||
@@ -1117,34 +1124,45 @@ If the text hasn't changed as a result, forward to `ivy-alt-done'."
|
||||
(defun ivy-partial ()
|
||||
"Complete the minibuffer text as much as possible."
|
||||
(interactive)
|
||||
(let* ((parts (or (ivy--split-spaces ivy-text) (list "")))
|
||||
(tail (last parts))
|
||||
(postfix (car tail))
|
||||
(case-fold-search (ivy--case-fold-p ivy-text))
|
||||
(completion-ignore-case case-fold-search)
|
||||
(new (try-completion (string-remove-prefix "^" postfix)
|
||||
(if (ivy-state-dynamic-collection ivy-last)
|
||||
ivy--all-candidates
|
||||
(if (ivy-state-dynamic-collection ivy-last)
|
||||
(let* ((bnd
|
||||
(ignore-errors
|
||||
(funcall
|
||||
(ivy-state-collection ivy-last)
|
||||
ivy-text nil (cons 'boundaries (buffer-substring (point) (line-end-position))))))
|
||||
(beg (+ (minibuffer-prompt-end)
|
||||
(if bnd (cadr bnd) 0))))
|
||||
(delete-region beg (point-max))
|
||||
(insert
|
||||
(ivy-state-current ivy-last))
|
||||
t)
|
||||
(let* ((parts (or (ivy--split-spaces ivy-text) (list "")))
|
||||
(tail (last parts))
|
||||
(postfix (car tail))
|
||||
(case-fold-search (ivy--case-fold-p ivy-text))
|
||||
(completion-ignore-case case-fold-search)
|
||||
(new (try-completion (string-remove-prefix "^" postfix)
|
||||
(mapcar (lambda (str)
|
||||
(let ((i (string-match-p postfix str)))
|
||||
(and i (substring str i))))
|
||||
ivy--old-cands)))))
|
||||
(cond ((eq new t) nil)
|
||||
((string= new ivy-text) nil)
|
||||
((string= (car tail) (car (ivy--split-spaces new))) nil)
|
||||
(new
|
||||
(delete-region (minibuffer-prompt-end) (point-max))
|
||||
(setcar tail
|
||||
(if (= (string-to-char postfix) ?^)
|
||||
(concat "^" new)
|
||||
new))
|
||||
(ivy-set-text
|
||||
(concat
|
||||
(mapconcat #'identity parts " ")
|
||||
(and ivy-tab-space (not (= (length ivy--old-cands) 1)) " ")))
|
||||
(insert ivy-text)
|
||||
(ivy--partial-cd-for-single-directory)
|
||||
t))))
|
||||
ivy--old-cands))))
|
||||
(cond
|
||||
((eq new t) nil)
|
||||
((string= new ivy-text) nil)
|
||||
((string= (car tail) (car (ivy--split-spaces new))) nil)
|
||||
(new
|
||||
(delete-region (minibuffer-prompt-end) (point-max))
|
||||
(setcar tail
|
||||
(if (= (string-to-char postfix) ?^)
|
||||
(concat "^" new)
|
||||
new))
|
||||
(ivy-set-text
|
||||
(concat
|
||||
(mapconcat #'identity parts " ")
|
||||
(and ivy-tab-space (not (= (length ivy--old-cands) 1)) " ")))
|
||||
(insert ivy-text)
|
||||
(ivy--partial-cd-for-single-directory)
|
||||
t)))))
|
||||
|
||||
(defvar ivy-completion-beg nil
|
||||
"Completion bounds start.")
|
||||
@@ -1658,7 +1676,9 @@ minibuffer."
|
||||
"Forward to `kill-line'."
|
||||
(interactive)
|
||||
(if (eolp)
|
||||
(kill-region (minibuffer-prompt-end) (point))
|
||||
(progn
|
||||
(kill-region (minibuffer-prompt-end) (point))
|
||||
(setq ivy--old-text (current-kill 0 t)))
|
||||
(kill-line)))
|
||||
|
||||
(defun ivy-kill-whole-line ()
|
||||
@@ -1703,6 +1723,8 @@ This string is inserted into the minibuffer."
|
||||
(const :tag "Default" ivy-format-function-default)
|
||||
(const :tag "Arrow prefix" ivy-format-function-arrow)
|
||||
(const :tag "Full line" ivy-format-function-line)
|
||||
(const :tag "Arrow prefix + full line"
|
||||
ivy-format-function-arrow-line)
|
||||
(function :tag "Custom function"))))
|
||||
|
||||
(defun ivy-sort-file-function-default (x y)
|
||||
@@ -1769,7 +1791,8 @@ specified for the current collection in
|
||||
`ivy-sort-functions-alist'."
|
||||
(interactive)
|
||||
(let ((cell (or (assq (ivy-state-collection ivy-last) ivy-sort-functions-alist)
|
||||
(assq (ivy-state-caller ivy-last) ivy-sort-functions-alist))))
|
||||
(assq (ivy-state-caller ivy-last) ivy-sort-functions-alist)
|
||||
(assq t ivy-sort-functions-alist))))
|
||||
(when (consp (cdr cell))
|
||||
(setcdr cell (nconc (cddr cell) (list (cadr cell))))
|
||||
(ivy--reset-state ivy-last))))
|
||||
@@ -1892,6 +1915,7 @@ The child caller inherits and can override the settings of the parent.")
|
||||
unwind-fn
|
||||
index-fn
|
||||
sort-fn
|
||||
sort-matches-fn
|
||||
format-fn
|
||||
display-fn
|
||||
display-transformer-fn
|
||||
@@ -1919,6 +1943,8 @@ The child caller inherits and can override the settings of the parent.")
|
||||
(ivy--alist-set 'ivy-index-functions-alist caller index-fn))
|
||||
(when sort-fn
|
||||
(ivy--alist-set 'ivy-sort-functions-alist caller sort-fn))
|
||||
(when sort-matches-fn
|
||||
(ivy--alist-set 'ivy-sort-matches-functions-alist caller sort-matches-fn))
|
||||
(when format-fn
|
||||
(ivy--alist-set 'ivy-format-functions-alist caller format-fn))
|
||||
(when display-fn
|
||||
@@ -2032,7 +2058,7 @@ PREDICATE is applied to filter out the COLLECTION immediately.
|
||||
This argument is for compatibility with `completing-read'.
|
||||
|
||||
When REQUIRE-MATCH is non-nil, only members of COLLECTION can be
|
||||
selected.
|
||||
selected. In can also be a lambda.
|
||||
|
||||
If INITIAL-INPUT is non-nil, then insert that input in the
|
||||
minibuffer initially.
|
||||
@@ -2212,10 +2238,21 @@ customizations apply to the current completion session."
|
||||
|
||||
(defvar Info-complete-menu-buffer)
|
||||
|
||||
(defun ivy--alist-to-cands (alist)
|
||||
"Transform ALIST to a list of strings."
|
||||
(let ((i -1))
|
||||
(mapcar (lambda (x)
|
||||
(propertize x 'idx (cl-incf i)))
|
||||
(all-completions "" alist))))
|
||||
|
||||
(defvar ivy--minibuffer-metadata nil
|
||||
"Store `completion-metadata'.")
|
||||
|
||||
(defun ivy--reset-state (state)
|
||||
"Reset the ivy to STATE.
|
||||
This is useful for recursive `ivy-read'."
|
||||
(setq ivy-marked-candidates nil)
|
||||
(setq ivy--minibuffer-metadata nil)
|
||||
(unless (equal (selected-frame) (ivy-state-frame state))
|
||||
(select-window (active-minibuffer-window)))
|
||||
(let* ((prompt (or (ivy-state-prompt state) ""))
|
||||
@@ -2324,6 +2361,12 @@ This is useful for recursive `ivy-read'."
|
||||
counsel-switch-buffer)))
|
||||
predicate)))
|
||||
(dynamic-collection
|
||||
(setq ivy--minibuffer-metadata
|
||||
(ignore-errors
|
||||
(completion-metadata
|
||||
""
|
||||
(ivy-state-collection ivy-last)
|
||||
(ivy-state-predicate ivy-last))))
|
||||
(setq coll (if (and (eq this-command 'ivy-resume) (not (buffer-modified-p)))
|
||||
ivy--all-candidates
|
||||
(ivy--dynamic-collection-cands (or initial-input "")))))
|
||||
@@ -2333,10 +2376,7 @@ This is useful for recursive `ivy-read'."
|
||||
(setq collection (sort (copy-sequence collection) sort-fn))
|
||||
(setq sort nil))
|
||||
(setf (ivy-state-collection ivy-last) collection)
|
||||
(setq coll (let ((i -1))
|
||||
(mapcar (lambda (x)
|
||||
(propertize x 'idx (cl-incf i)))
|
||||
(all-completions "" collection)))))
|
||||
(setq coll (ivy--alist-to-cands collection)))
|
||||
((or (functionp collection)
|
||||
(byte-code-function-p collection)
|
||||
(vectorp collection)
|
||||
@@ -2503,6 +2543,12 @@ behavior."
|
||||
|
||||
(declare-function mc/all-fake-cursors "ext:multiple-cursors-core")
|
||||
|
||||
;; Kludge: Try to retain original minibuffer completion data.
|
||||
(defvar ivy--minibuffer-table)
|
||||
(defvar ivy--minibuffer-pred)
|
||||
(defvar ivy--minibuffer-try nil
|
||||
"Store original `try-completion' result for sole completions.")
|
||||
|
||||
(defun ivy-completion-in-region-action (str)
|
||||
"Insert STR, erasing the previous one.
|
||||
The previous string is between `ivy-completion-beg' and `ivy-completion-end'."
|
||||
@@ -2518,7 +2564,15 @@ The previous string is between `ivy-completion-beg' and `ivy-completion-end'."
|
||||
(delete-region beg end))
|
||||
(setq ivy-completion-beg (point))
|
||||
(insert (substring-no-properties str))
|
||||
(completion--done str 'exact)
|
||||
(let ((minibuffer-completion-table (if (boundp 'ivy--minibuffer-table)
|
||||
ivy--minibuffer-table
|
||||
(ivy-state-collection ivy-last)))
|
||||
(minibuffer-completion-predicate (if (boundp 'ivy--minibuffer-pred)
|
||||
ivy--minibuffer-pred
|
||||
(ivy-state-predicate ivy-last))))
|
||||
(completion--done str (cond ((eq ivy--minibuffer-try t) 'finished)
|
||||
((eq ivy-exit 'done) 'unknown)
|
||||
('exact))))
|
||||
(setq ivy-completion-end (point))
|
||||
(save-excursion
|
||||
(dolist (cursor fake-cursors)
|
||||
@@ -2558,8 +2612,12 @@ See `completion-in-region' for further information."
|
||||
(let* ((enable-recursive-minibuffers t)
|
||||
(str (buffer-substring-no-properties start end))
|
||||
(completion-ignore-case (ivy--case-fold-p str))
|
||||
(comps
|
||||
(completion-all-completions str collection predicate (- end start))))
|
||||
(md (completion-metadata str collection predicate))
|
||||
(reg (- end start))
|
||||
(comps (completion-all-completions str collection predicate reg md))
|
||||
(try (completion-try-completion str collection predicate reg md))
|
||||
(ivy--minibuffer-table collection)
|
||||
(ivy--minibuffer-pred predicate))
|
||||
(cond ((null comps)
|
||||
(message "No matches"))
|
||||
((progn
|
||||
@@ -2586,8 +2644,9 @@ See `completion-in-region' for further information."
|
||||
(progn
|
||||
(unless (minibuffer-window-active-p (selected-window))
|
||||
(setf (ivy-state-window ivy-last) (selected-window)))
|
||||
(ivy-completion-in-region-action
|
||||
(substring-no-properties (car comps))))
|
||||
(let ((ivy--minibuffer-try try))
|
||||
(ivy-completion-in-region-action
|
||||
(substring-no-properties (car comps)))))
|
||||
(dolist (s comps)
|
||||
;; Remove face `completions-first-difference'.
|
||||
(ivy--remove-props s 'face))
|
||||
@@ -2958,8 +3017,11 @@ tries to ensure that it does not change depending on the number of candidates."
|
||||
|
||||
(defun ivy--minibuffer-setup ()
|
||||
"Setup ivy completion in the minibuffer."
|
||||
(setq-local mwheel-scroll-up-function 'ivy-next-line)
|
||||
(setq-local mwheel-scroll-down-function 'ivy-previous-line)
|
||||
;; Guard for --without-x builds where `mwheel' is not preloaded.
|
||||
(when (boundp 'mwheel-scroll-up-function)
|
||||
(setq-local mwheel-scroll-up-function 'ivy-next-line))
|
||||
(when (boundp 'mwheel-scroll-down-function)
|
||||
(setq-local mwheel-scroll-down-function 'ivy-previous-line))
|
||||
(setq-local completion-show-inline-help nil)
|
||||
(setq-local line-spacing nil)
|
||||
(setq-local minibuffer-default-add-function
|
||||
@@ -3040,6 +3102,26 @@ parts beyond their respective faces `ivy-confirm-face' and
|
||||
(funcall fn (ivy-state-prompt ivy-last))))
|
||||
ivy--prompt)))
|
||||
|
||||
(defun ivy--break-lines (str width)
|
||||
"Break each line in STR with newlines to fit into WIDTH columns."
|
||||
(if (<= width 0)
|
||||
str
|
||||
(let (lines)
|
||||
(dolist (line (split-string str "\n"))
|
||||
(while (and line (> (string-width line) width))
|
||||
(let ((prefix "") (extra 0))
|
||||
(while (string-empty-p prefix)
|
||||
;; Grow `width' until it fits at least one char from `line'.
|
||||
(setq prefix (truncate-string-to-width line (+ width extra)))
|
||||
(setq extra (1+ extra)))
|
||||
;; Avoid introducing spurious newline if `prefix' and `line' are
|
||||
;; equal, i.e., if `line' couldn't be truncated to `width'.
|
||||
(setq line (and (> (length line) (length prefix))
|
||||
(substring line (length prefix))))
|
||||
(push prefix lines)))
|
||||
(when line (push line lines)))
|
||||
(string-join (nreverse lines) "\n"))))
|
||||
|
||||
(defun ivy--insert-prompt ()
|
||||
"Update the prompt according to `ivy--prompt'."
|
||||
(when (setq ivy--prompt (ivy-prompt))
|
||||
@@ -3080,13 +3162,13 @@ parts beyond their respective faces `ivy-confirm-face' and
|
||||
(save-excursion
|
||||
(goto-char (point-min))
|
||||
(delete-region (point-min) (minibuffer-prompt-end))
|
||||
(let ((len-n (length n-str))
|
||||
(len-d (length d-str))
|
||||
(let ((wid-n (string-width n-str))
|
||||
(wid-d (string-width d-str))
|
||||
(ww (window-width)))
|
||||
(setq n-str
|
||||
(cond ((> (+ len-n len-d) ww)
|
||||
(cond ((> (+ wid-n wid-d) ww)
|
||||
(concat n-str "\n" d-str "\n"))
|
||||
((> (+ len-n len-d (length ivy-text)) ww)
|
||||
((> (+ wid-n wid-d (string-width ivy-text)) ww)
|
||||
(concat n-str d-str "\n"))
|
||||
(t
|
||||
(concat n-str d-str)))))
|
||||
@@ -3094,11 +3176,7 @@ parts beyond their respective faces `ivy-confirm-face' and
|
||||
(setq n-str (concat (funcall ivy-pre-prompt-function) n-str)))
|
||||
(when ivy-add-newline-after-prompt
|
||||
(setq n-str (concat n-str "\n")))
|
||||
(let ((regex (format "\\([^\n]\\{%d\\}\\)[^\n]" (window-width))))
|
||||
(while (string-match regex n-str)
|
||||
(setq n-str (replace-match
|
||||
(concat (match-string 1 n-str) "\n")
|
||||
nil t n-str 1))))
|
||||
(setq n-str (ivy--break-lines n-str (window-width)))
|
||||
(set-text-properties 0 (length n-str)
|
||||
`(face minibuffer-prompt ,@std-props)
|
||||
n-str)
|
||||
@@ -3284,14 +3362,10 @@ The function was added in Emacs 26.1.")
|
||||
"~"
|
||||
home)))))
|
||||
|
||||
(defvar ivy--minibuffer-metadata nil)
|
||||
|
||||
(defun ivy-update-candidates (cands)
|
||||
(let ((ivy--minibuffer-metadata
|
||||
(completion-metadata "" minibuffer-completion-table minibuffer-completion-predicate)))
|
||||
(ivy--insert-minibuffer
|
||||
(ivy--format
|
||||
(setq ivy--all-candidates cands)))))
|
||||
(ivy--insert-minibuffer
|
||||
(ivy--format
|
||||
(setq ivy--all-candidates cands))))
|
||||
|
||||
(defun ivy--exhibit ()
|
||||
"Insert Ivy completions display.
|
||||
@@ -3306,7 +3380,10 @@ Should be run via minibuffer `post-command-hook'."
|
||||
t))
|
||||
|
||||
(defun ivy--dynamic-collection-cands (input)
|
||||
(let ((coll (funcall (ivy-state-collection ivy-last) input)))
|
||||
(let ((coll (condition-case nil
|
||||
(funcall (ivy-state-collection ivy-last) input)
|
||||
(error
|
||||
(funcall (ivy-state-collection ivy-last) input nil nil)))))
|
||||
(if (listp coll)
|
||||
(mapcar (lambda (x) (if (consp x) (car x) x)) coll)
|
||||
coll)))
|
||||
@@ -3922,7 +3999,8 @@ and SEPARATOR is used to join them."
|
||||
separator)))
|
||||
|
||||
(defun ivy-format-function-default (cands)
|
||||
"Transform CANDS into a string for minibuffer."
|
||||
"Transform CANDS into a multiline string for the minibuffer.
|
||||
Add the face `ivy-current-match' to the selected candidate."
|
||||
(ivy--format-function-generic
|
||||
(lambda (str)
|
||||
(ivy--add-face str 'ivy-current-match))
|
||||
@@ -3931,7 +4009,9 @@ and SEPARATOR is used to join them."
|
||||
"\n"))
|
||||
|
||||
(defun ivy-format-function-arrow (cands)
|
||||
"Transform CANDS into a string for minibuffer."
|
||||
"Transform CANDS into a multiline string for the minibuffer.
|
||||
Like `ivy-format-function-default', but also prefix the selected
|
||||
candidate with an arrow \">\"."
|
||||
(ivy--format-function-generic
|
||||
(lambda (str)
|
||||
(concat "> " (ivy--add-face str 'ivy-current-match)))
|
||||
@@ -3941,9 +4021,13 @@ and SEPARATOR is used to join them."
|
||||
"\n"))
|
||||
|
||||
(defun ivy-format-function-line (cands)
|
||||
"Transform CANDS into a string for minibuffer.
|
||||
Note that since Emacs 27, `ivy-current-match' needs to have :extend t attribute.
|
||||
It has it by default, but the current theme also needs to set it."
|
||||
"Transform CANDS into a multiline string for the minibuffer.
|
||||
Like `ivy-format-function-default', but extend highlighting of
|
||||
the selected candidate to the window edge.
|
||||
|
||||
Note that since Emacs 27, `ivy-current-match' needs to have a
|
||||
non-nil :extend attribute. This is the case by default, but it
|
||||
also needs to be preserved by the current theme."
|
||||
(ivy--format-function-generic
|
||||
(lambda (str)
|
||||
(ivy--add-face (concat str "\n") 'ivy-current-match))
|
||||
@@ -3952,6 +4036,18 @@ It has it by default, but the current theme also needs to set it."
|
||||
cands
|
||||
""))
|
||||
|
||||
(defun ivy-format-function-arrow-line (cands)
|
||||
"Transform CANDS into a multiline string for the minibuffer.
|
||||
This combines the \">\" prefix of `ivy-format-function-arrow'
|
||||
with the extended highlighting of `ivy-format-function-line'."
|
||||
(ivy--format-function-generic
|
||||
(lambda (str)
|
||||
(concat "> " (ivy--add-face (concat str "\n") 'ivy-current-match)))
|
||||
(lambda (str)
|
||||
(concat " " str "\n"))
|
||||
cands
|
||||
""))
|
||||
|
||||
(defun ivy--highlight-ignore-order (str)
|
||||
"Highlight STR, using the ignore-order method."
|
||||
(when (consp ivy--old-re)
|
||||
@@ -3984,12 +4080,10 @@ in this case."
|
||||
|
||||
(defun ivy--highlight-default (str)
|
||||
"Highlight STR, using the default method."
|
||||
(unless ivy--old-re
|
||||
(setq ivy--old-re ivy-regex))
|
||||
(let ((regexps
|
||||
(if (listp ivy--old-re)
|
||||
(mapcar #'car (cl-remove-if-not #'cdr ivy--old-re))
|
||||
(list ivy--old-re)))
|
||||
(if (listp ivy-regex)
|
||||
(mapcar #'car (cl-remove-if-not #'cdr ivy-regex))
|
||||
(list ivy-regex)))
|
||||
start)
|
||||
(dolist (re regexps)
|
||||
(ignore-errors
|
||||
@@ -4020,7 +4114,7 @@ in this case."
|
||||
(cl-incf i)))))))
|
||||
str)
|
||||
|
||||
(defun ivy--format-minibuffer-line (str)
|
||||
(defun ivy--format-minibuffer-line (str annot)
|
||||
"Format line STR for use in minibuffer."
|
||||
(let* ((str (ivy-cleanup-string (copy-sequence str)))
|
||||
(str (if (eq ivy-display-style 'fancy)
|
||||
@@ -4033,9 +4127,7 @@ in this case."
|
||||
(concat file (funcall ivy--highlight-function match)))
|
||||
(funcall ivy--highlight-function str))
|
||||
str))
|
||||
(olen (length str))
|
||||
(annot (or (completion-metadata-get ivy--minibuffer-metadata 'annotation-function)
|
||||
(plist-get completion-extra-properties :annotation-function))))
|
||||
(olen (length str)))
|
||||
(add-text-properties
|
||||
0 olen
|
||||
'(mouse-face
|
||||
@@ -4050,7 +4142,7 @@ in this case."
|
||||
(when annot
|
||||
(setq str (concat str (funcall annot str)))
|
||||
(add-face-text-property
|
||||
olen (length str) 'ivy-completions-annotations nil str))
|
||||
olen (length str) 'ivy-completions-annotations t str))
|
||||
str))
|
||||
|
||||
(defun ivy-read-file-transformer (str)
|
||||
@@ -4082,7 +4174,7 @@ CANDS is a list of candidates that :display-transformer can turn into strings."
|
||||
(let* ((bnd (ivy--minibuffer-index-bounds
|
||||
ivy--index ivy--length ivy-height))
|
||||
(wnd-cands (cl-subseq cands (car bnd) (cadr bnd)))
|
||||
(case-fold-search (ivy--case-fold-p ivy-text))
|
||||
(case-fold-search (ivy--case-fold-p (ivy-re-to-str ivy-regex)))
|
||||
transformer-fn)
|
||||
(setq ivy--window-index (nth 2 bnd))
|
||||
(when (setq transformer-fn (ivy-state-display-transformer-fn ivy-last))
|
||||
@@ -4092,13 +4184,18 @@ CANDS is a list of candidates that :display-transformer can turn into strings."
|
||||
(ivy--wnd-cands-to-str wnd-cands))))
|
||||
|
||||
(defun ivy--wnd-cands-to-str (wnd-cands)
|
||||
(let ((str (concat "\n"
|
||||
(funcall (ivy-alist-setting ivy-format-functions-alist)
|
||||
(condition-case nil
|
||||
(mapcar
|
||||
#'ivy--format-minibuffer-line
|
||||
wnd-cands)
|
||||
(error wnd-cands))))))
|
||||
(let* ((metadata (unless (ivy-state-dynamic-collection ivy-last)
|
||||
(completion-metadata "" minibuffer-completion-table
|
||||
minibuffer-completion-predicate)))
|
||||
(annot (or (completion-metadata-get metadata 'annotation-function)
|
||||
(plist-get completion-extra-properties :annotation-function)))
|
||||
(str (concat "\n"
|
||||
(funcall (ivy-alist-setting ivy-format-functions-alist)
|
||||
(condition-case nil
|
||||
(mapcar
|
||||
(lambda (cand) (ivy--format-minibuffer-line cand annot))
|
||||
wnd-cands)
|
||||
(error wnd-cands))))))
|
||||
(put-text-property 0 (length str) 'read-only nil str)
|
||||
str))
|
||||
|
||||
@@ -4428,7 +4525,8 @@ BUFFER may be a string or nil."
|
||||
(defun ivy--kill-current-candidate-buffer ()
|
||||
(setf (ivy-state-preselect ivy-last) ivy--index)
|
||||
(setq ivy--old-re nil)
|
||||
(setq ivy--all-candidates (ivy--buffer-list "" ivy-use-virtual-buffers nil))
|
||||
(setq ivy--all-candidates (ivy--buffer-list "" ivy-use-virtual-buffers
|
||||
(ivy-state-predicate ivy-last)))
|
||||
(let ((ivy--recompute-index-inhibit t))
|
||||
(ivy--exhibit)))
|
||||
|
||||
@@ -4833,9 +4931,16 @@ You can also delete an element from history with \\[ivy-reverse-i-search-kill]."
|
||||
(delete-minibuffer-contents)
|
||||
(if (ivy-state-dynamic-collection ivy-last)
|
||||
(progn
|
||||
(setf (ivy-state-dynamic-collection ivy-last) nil)
|
||||
(setf (ivy-state-collection ivy-last)
|
||||
(setq ivy--all-candidates ivy--old-cands)))
|
||||
;; By disabling `ivy-state-dynamic-collection', we lose the ability
|
||||
;; to clearly differentiate between ternary programmed completion
|
||||
;; functions and Ivy's unary dynamic collections (short of using
|
||||
;; `func-arity' or otherwise redesigning things). So we must also
|
||||
;; update the dynamic binding of `minibuffer-completion-table' to no
|
||||
;; longer hold a dynamic collection.
|
||||
(setq minibuffer-completion-table ivy--old-cands)
|
||||
(setq ivy--all-candidates ivy--old-cands)
|
||||
(setf (ivy-state-collection ivy-last) ivy--old-cands)
|
||||
(setf (ivy-state-dynamic-collection ivy-last) nil))
|
||||
(setq ivy--all-candidates
|
||||
(ivy--filter ivy-text ivy--all-candidates))))
|
||||
|
||||
@@ -5029,7 +5134,10 @@ There is no limit on the number of *ivy-occur* buffers."
|
||||
"")
|
||||
ivy-text))))
|
||||
(with-current-buffer buffer
|
||||
(funcall occur-fn ivy--old-cands)
|
||||
(funcall occur-fn
|
||||
(if (ivy-state-dynamic-collection ivy-last)
|
||||
(funcall (ivy-state-collection ivy-last) ivy-text)
|
||||
ivy--old-cands))
|
||||
(setf (ivy-state-text ivy-last) ivy-text)
|
||||
(setq ivy-occur-last ivy-last))
|
||||
(ivy-exit-with-action
|
||||
@@ -5051,10 +5159,15 @@ updated original buffer."
|
||||
(let ((caller (ivy-state-caller ivy-occur-last))
|
||||
(ivy-last ivy-occur-last))
|
||||
(let ((inhibit-read-only t)
|
||||
(line (line-number-at-pos)))
|
||||
(line (line-number-at-pos))
|
||||
(text (ivy-state-text ivy-last)))
|
||||
(erase-buffer)
|
||||
(ivy-set-text text)
|
||||
(funcall (or (plist-get ivy--occurs-list caller)
|
||||
#'ivy--occur-default) nil)
|
||||
#'ivy--occur-default)
|
||||
(and (ivy-state-dynamic-collection ivy-last)
|
||||
(funcall (ivy-state-collection ivy-last)
|
||||
text)))
|
||||
(goto-char (point-min))
|
||||
(forward-line (1- line)))
|
||||
(setq ivy-occur-last ivy-last)))
|
||||
@@ -5187,11 +5300,16 @@ EVENT gives the mouse position."
|
||||
(delete cand ivy-marked-candidates)))
|
||||
|
||||
(defun ivy--mark (cand)
|
||||
(let ((marked-cand (concat ivy-mark-prefix cand)))
|
||||
(let ((marked-cand (copy-sequence (concat ivy-mark-prefix cand))))
|
||||
;; Primarily for preserving `idx'. FIXME: the mark
|
||||
;; prefix shouldn't become part of the candidate!
|
||||
(add-text-properties 0 (length ivy-mark-prefix)
|
||||
(text-properties-at 0 cand)
|
||||
marked-cand)
|
||||
(setcar (member cand ivy--all-candidates)
|
||||
(setcar (member cand ivy--old-cands) marked-cand))
|
||||
(setq ivy-marked-candidates
|
||||
(append ivy-marked-candidates (list marked-cand)))))
|
||||
(nconc ivy-marked-candidates (list marked-cand)))))
|
||||
|
||||
(defun ivy-mark ()
|
||||
"Mark the selected candidate and move to the next one.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
This is ivy.info, produced by makeinfo version 6.5 from ivy.texi.
|
||||
This is ivy.info, produced by makeinfo version 6.7 from ivy.texi.
|
||||
|
||||
Ivy manual, version 0.13.0
|
||||
Ivy manual, version 0.13.4
|
||||
|
||||
Ivy is an interactive interface for completion in Emacs. Emacs uses
|
||||
completion mechanism in a variety of contexts: code, menus, commands,
|
||||
@@ -11,7 +11,7 @@ available choices while previewing in the minibuffer. Selecting the
|
||||
final candidate is either through simple keyboard character inputs or
|
||||
through powerful regular expressions.
|
||||
|
||||
Copyright (C) 2015-2019 Free Software Foundation, Inc.
|
||||
Copyright (C) 2015–2021 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
@@ -19,6 +19,7 @@ through powerful regular expressions.
|
||||
Foundation; with no Invariant Sections, no Front-Cover Texts, and
|
||||
no Back-Cover Texts. A copy of the license is included in the
|
||||
section entitled "GNU Free Documentation License".
|
||||
|
||||
INFO-DIR-SECTION Emacs
|
||||
START-INFO-DIR-ENTRY
|
||||
* Ivy: (ivy). Using Ivy for completion.
|
||||
@@ -203,21 +204,22 @@ File: ivy.info, Node: Installing from Emacs Package Manager, Next: Installing
|
||||
|
||||
‘M-x’ ‘package-install’ ‘RET’ ‘counsel’ ‘RET’
|
||||
|
||||
Ivy is installed as part of the ‘counsel’ package, which is available
|
||||
from two different package archives, GNU ELPA and MELPA. For the latest
|
||||
stable version, use the GNU ELPA archives. For current hourly builds,
|
||||
use the MELPA archives.
|
||||
Ivy is installed alongside the ‘counsel’ package, which is available
|
||||
from two different package archives, GNU ELPA and MELPA. For the latest
|
||||
stable version, use the GNU ELPA archive. For the latest development
|
||||
snaphshot, use the GNU-devel ELPA archive.
|
||||
|
||||
Ivy is split into three packages: ‘ivy’, ‘swiper’ and ‘counsel’; by
|
||||
installing ‘counsel’, the other two are brought in as dependencies. If
|
||||
you are not interested in the extra functionality provided by ‘swiper’
|
||||
and ‘counsel’, you can install only ‘ivy’.
|
||||
|
||||
See the code below for adding MELPA to the list of package archives:
|
||||
See the code below for adding GNU-devel ELPA to your list of package
|
||||
archives:
|
||||
|
||||
(require 'package)
|
||||
(add-to-list 'package-archives
|
||||
'("melpa" . "https://melpa.org/packages/"))
|
||||
'("gnu-devel" . "https://elpa.gnu.org/devel/"))
|
||||
|
||||
After this do ‘M-x’ ‘package-refresh-contents’ ‘RET’, followed by
|
||||
‘M-x’ ‘package-install’ ‘RET’ ‘counsel’ ‘RET’.
|
||||
@@ -233,7 +235,7 @@ File: ivy.info, Node: Installing from the Git repository, Prev: Installing fro
|
||||
Why install from Git?
|
||||
.....................
|
||||
|
||||
• No need to wait for MELPA’s hourly builds
|
||||
• No need to wait for GNU ELPA / MELPA builds
|
||||
• Easy to revert to previous versions
|
||||
• Contribute to Ivy’s development; send patches; pull requests
|
||||
|
||||
@@ -457,11 +459,11 @@ extends usability of lists in Emacs.
|
||||
|
||||
(should
|
||||
(equal (ivy-with
|
||||
'(progn
|
||||
(ivy-read "Test: " '("can do" "can't, sorry" "other"))
|
||||
ivy-text)
|
||||
"c <tab>")
|
||||
"can"))
|
||||
'(progn
|
||||
(ivy-read "Test: " '("can do" "can't, sorry" "other"))
|
||||
ivy-text)
|
||||
"c <tab>")
|
||||
"can"))
|
||||
|
||||
‘C-M-j’ (‘ivy-immediate-done’)
|
||||
..............................
|
||||
@@ -494,6 +496,9 @@ keeps the minibuffer open for applying subsequent actions.
|
||||
Adding an extra meta key to the normal key chord invokes the special
|
||||
version of the regular commands that enables applying multiple actions.
|
||||
|
||||
Note that these operations are supported only by completion sessions
|
||||
that use the ‘ivy-read’ API, rather than the built-in ‘completing-read’.
|
||||
|
||||
‘C-M-m’ (‘ivy-call’)
|
||||
....................
|
||||
|
||||
@@ -560,7 +565,7 @@ File: ivy.info, Node: Key bindings that alter the minibuffer input, Next: Othe
|
||||
‘M-p’ (‘ivy-previous-history-element’)
|
||||
......................................
|
||||
|
||||
Cycles forward through the Ivy command history.
|
||||
Cycles backwards through the Ivy command history.
|
||||
|
||||
‘M-i’ (‘ivy-insert-current’)
|
||||
............................
|
||||
@@ -647,7 +652,7 @@ jjjj’ in Hydra.
|
||||
Toggle calling the action after each candidate change. It modifies
|
||||
‘j’ to ‘jg’, ‘k’ to ‘kg’ etc.
|
||||
|
||||
‘m’ (‘ivy-rotate-preferred-builders’)
|
||||
‘M’ (‘ivy-rotate-preferred-builders’)
|
||||
.....................................
|
||||
|
||||
Rotate the current regexp matcher.
|
||||
@@ -779,7 +784,7 @@ completion:
|
||||
|
||||
(setq ivy-re-builders-alist
|
||||
'((read-file-name-internal . ivy--regex-fuzzy)
|
||||
(t . ivy--regex-plus)))
|
||||
(t . ivy--regex-plus)))
|
||||
|
||||
Here, ‘read-file-name-internal’ is a function that is passed as the
|
||||
second argument to ‘completing-read’ for file name completion.
|
||||
@@ -1010,6 +1015,8 @@ File: ivy.info, Node: Defcustoms, Next: Actions, Prev: Faces, Up: Customizat
|
||||
The default behavior is to quit the completion after ‘DEL’ – a
|
||||
handy key to invoke after mistakenly triggering a completion.
|
||||
|
||||
Another common option is ‘ignore’, which does nothing.
|
||||
|
||||
|
||||
File: ivy.info, Node: Actions, Next: Packages, Prev: Defcustoms, Up: Customization
|
||||
|
||||
@@ -1149,10 +1156,10 @@ File: ivy.info, Node: Example - define a new command with several actions, Pre
|
||||
(defun my-command-with-3-actions ()
|
||||
(interactive)
|
||||
(ivy-read "test: " '("foo" "bar" "baz")
|
||||
:action '(1
|
||||
("o" my-action-1 "action 1")
|
||||
("j" my-action-2 "action 2")
|
||||
("k" my-action-3 "action 3"))))
|
||||
:action '(1
|
||||
("o" my-action-1 "action 1")
|
||||
("j" my-action-2 "action 2")
|
||||
("k" my-action-3 "action 3"))))
|
||||
|
||||
The number 1 above is the index of the default action. Each action
|
||||
has its own string description for easy selection.
|
||||
@@ -1564,20 +1571,20 @@ argument.
|
||||
"Forward to `describe-function'."
|
||||
(interactive)
|
||||
(ivy-read "Describe function: "
|
||||
(let (cands)
|
||||
(mapatoms
|
||||
(lambda (x)
|
||||
(when (fboundp x)
|
||||
(push (symbol-name x) cands))))
|
||||
cands)
|
||||
:keymap counsel-describe-map
|
||||
:preselect (ivy-thing-at-point)
|
||||
:history 'counsel-describe-symbol-history
|
||||
:require-match t
|
||||
:action (lambda (x)
|
||||
(describe-function
|
||||
(intern x)))
|
||||
:caller 'counsel-describe-function))
|
||||
(let (cands)
|
||||
(mapatoms
|
||||
(lambda (x)
|
||||
(when (fboundp x)
|
||||
(push (symbol-name x) cands))))
|
||||
cands)
|
||||
:keymap counsel-describe-map
|
||||
:preselect (ivy-thing-at-point)
|
||||
:history 'counsel-describe-symbol-history
|
||||
:require-match t
|
||||
:action (lambda (x)
|
||||
(describe-function
|
||||
(intern x)))
|
||||
:caller 'counsel-describe-function))
|
||||
|
||||
Here are the interesting features of the above function, in the order
|
||||
that they appear:
|
||||
@@ -1634,9 +1641,9 @@ narrowing) or select a candidate from the visible collection.
|
||||
(progn
|
||||
(counsel--async-command
|
||||
(format "locate %s '%s'"
|
||||
(mapconcat #'identity counsel-locate-options " ")
|
||||
(counsel--elisp-to-pcre
|
||||
(ivy--regex str))))
|
||||
(mapconcat #'identity counsel-locate-options " ")
|
||||
(counsel--elisp-to-pcre
|
||||
(ivy--regex str))))
|
||||
'("" "working..."))))
|
||||
|
||||
;;;###autoload
|
||||
@@ -1645,15 +1652,15 @@ narrowing) or select a candidate from the visible collection.
|
||||
INITIAL-INPUT can be given as the initial minibuffer input."
|
||||
(interactive)
|
||||
(ivy-read "Locate: " #'counsel-locate-function
|
||||
:initial-input initial-input
|
||||
:dynamic-collection t
|
||||
:history 'counsel-locate-history
|
||||
:action (lambda (file)
|
||||
(with-ivy-window
|
||||
(when file
|
||||
(find-file file))))
|
||||
:unwind #'counsel-delete-process
|
||||
:caller 'counsel-locate))
|
||||
:initial-input initial-input
|
||||
:dynamic-collection t
|
||||
:history 'counsel-locate-history
|
||||
:action (lambda (file)
|
||||
(with-ivy-window
|
||||
(when file
|
||||
(find-file file))))
|
||||
:unwind #'counsel-delete-process
|
||||
:caller 'counsel-locate))
|
||||
|
||||
Here are the interesting features of the above functions, in the
|
||||
order that they appear:
|
||||
@@ -1694,18 +1701,18 @@ each displayed strings.
|
||||
|
||||
(defun find-candidates-function (str pred _)
|
||||
(let ((props '(1 2))
|
||||
(strs '("foo" "foo2")))
|
||||
(strs '("foo" "foo2")))
|
||||
(cl-mapcar (lambda (s p) (propertize s 'property p))
|
||||
strs
|
||||
props)))
|
||||
strs
|
||||
props)))
|
||||
|
||||
(defun find-candidates ()
|
||||
(interactive)
|
||||
(ivy-read "Find symbols: "
|
||||
#'find-candidates-function
|
||||
:action (lambda (x)
|
||||
(message "Value: %s" (get-text-property 0 'property x)
|
||||
))))
|
||||
#'find-candidates-function
|
||||
:action (lambda (x)
|
||||
(message "Value: %s"
|
||||
(get-text-property 0 'property x)))))
|
||||
|
||||
Here are the interesting features of the above function:
|
||||
|
||||
@@ -1719,8 +1726,8 @@ each displayed strings.
|
||||
|
||||
File: ivy.info, Node: Variable Index, Next: Keystroke Index, Prev: API, Up: Top
|
||||
|
||||
Variable Index
|
||||
**************
|
||||
9 Variable Index
|
||||
****************
|
||||
|
||||
| ||||