Actualización de paquetes.

This commit is contained in:
kj 2020-10-06 04:26:19 -04:00
parent af5a3bae53
commit e462d5a49f
171 changed files with 2084 additions and 1488 deletions

View File

@ -1,7 +1,7 @@
(define-package "all-the-icons" "20200527.1304" "A library for inserting Developer icons"
(define-package "all-the-icons" "20200923.1339" "A library for inserting Developer icons"
'((emacs "24.3")
(memoize "1.0.1"))
:commit "ed8e44de4fa601309d2bba902c3b37cb73e4daa0" :keywords
:commit "6917b08f64dd8487e23769433d6cb9ba11f4152f" :keywords
'("convenient" "lisp")
:authors
'(("Dominic Charlesworth" . "dgc336@gmail.com"))

View File

@ -98,6 +98,7 @@
(require 'all-the-icons-faces)
(defvar web-mode-content-type) ;silence byte-compiler warning
;;; Custom Variables
(defgroup all-the-icons nil
"Manage how All The Icons formats icons."
@ -218,6 +219,11 @@
("\\.mp3$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.wav$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.m4a$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.ogg$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.flac$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.opus$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.au$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.aif[fc]?$" all-the-icons-faicon "volume-up" :face all-the-icons-dred)
("\\.jl$" all-the-icons-fileicon "julia" :v-adjust 0.0 :face all-the-icons-purple)
("\\.matlab$" all-the-icons-fileicon "matlab" :face all-the-icons-orange)
@ -234,6 +240,7 @@
("\\.ps1$" all-the-icons-fileicon "powershell" :face all-the-icons-blue)
("\\.prol?o?g?$" all-the-icons-alltheicon "prolog" :height 1.1 :face all-the-icons-lmaroon)
("\\.py$" all-the-icons-alltheicon "python" :height 1.0 :face all-the-icons-dblue)
("\\.ipynb$" all-the-icons-fileicon "jupyter" :height 1.0 :face all-the-icons-dorange)
("\\.rkt$" all-the-icons-fileicon "racket" :height 1.2 :face all-the-icons-red)
("^Gemfile\\(\\.lock\\)?$" all-the-icons-alltheicon "ruby-alt" :face all-the-icons-red)

View File

@ -18,7 +18,7 @@
("Leo Liu" . "sdl.web@gmail.com"))
(:keywords "tools" "processes" "convenience"))])
(ada-mode .
[(7 1 3)
[(7 1 4)
((uniquify-files
(1 0 1))
(wisi
@ -131,7 +131,7 @@
("John Wiegley" . "jwiegley@gmail.com"))
(:keywords "async"))])
(auctex .
[(12 2 4)
[(12 2 5)
((emacs
(24 1))
(cl-lib
@ -179,7 +179,9 @@
(bbdb .
[(3 2)
((emacs
(24)))
(24))
(cl-lib
(0 5)))
"core of BBDB" tar
((:maintainer "Roland Winkler" . "winkler@gnu.org")
(:url . "http://elpa.gnu.org/packages/bbdb.html"))])
@ -194,7 +196,7 @@
(:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com")
(:url . "https://github.com/Malabarba/beacon"))])
(bluetooth .
[(0 1 2)
[(0 2)
((emacs
(25 1))
(dash
@ -202,7 +204,8 @@
"A Major mode for Bluetooth devices" single
((:keywords "hardware")
(:authors
("Raffael Stocker" . "r.stocker@mnet-mail.de"))
("Raffael Stocker" . "r.stocker@mnet-mail.de")
("Etienne Prudhomme" . "e.e.f.prudhomme@gmail.com"))
(:maintainer "Raffael Stocker" . "r.stocker@mnet-mail.de")
(:url . "https://gitlab.com/rstocker/emacs-bluetooth"))])
(bnf-mode .
@ -400,6 +403,16 @@
("Oleh Krehel" . "ohwoeowho@gmail.com"))
(:maintainer "Oleh Krehel" . "ohwoeowho@gmail.com")
(:url . "https://github.com/abo-abo/swiper"))])
(cpio-mode .
[(0 16)
((emacs
(24 5)))
"Handle cpio archives in the style of dired." tar
((:maintainer "Douglas Lewan" . "d.lewan2000@gmail.com")
(:authors
("Douglas Lewan" . "d.lewan2000@gmail.com"))
(:keywords "files")
(:url . "http://elpa.gnu.org/packages/cpio-mode.html"))])
(crisp .
[(1 3 6)
nil "CRiSP/Brief Emacs emulator" single
@ -457,7 +470,7 @@
("Daiki Ueno" . "ueno@gnu.org"))
(:maintainer nil . "emacs-devel@gnu.org"))])
(debbugs .
[(0 25)
[(0 26)
((emacs
(25 1))
(soap-client
@ -593,7 +606,7 @@
("Leo Liu" . "sdl.web@gmail.com"))
(:keywords "killing" "convenience"))])
(ebdb .
[(0 6 18)
[(0 6 19)
((emacs
(25 1))
(cl-lib
@ -618,7 +631,7 @@
("Eric Abrahamsen" . "eric@ericabrahamsen.net"))
(:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))])
(ebdb-i18n-chn .
[(1 3)
[(1 3 1)
((pyim
(1 6 0))
(ebdb
@ -629,7 +642,7 @@
("Eric Abrahamsen" . "eric@ericabrahamsen.net"))
(:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))])
(ediprolog .
[(1 2)
[(2 1)
nil "Emacs Does Interactive Prolog" single
((:keywords "languages" "processes")
(:authors
@ -637,7 +650,7 @@
(:maintainer "Markus Triska" . "triska@metalevel.at")
(:url . "https://www.metalevel.at/ediprolog/"))])
(eev .
[(20200224)
[(20200928)
((emacs
(24 1)))
"Support for e-scripts (eepitch blocks, elisp hyperlinks, etc)" tar
@ -675,7 +688,7 @@
(:keywords "lisp")
(:url . "http://elpa.gnu.org/packages/el-search.html"))])
(eldoc .
[(1 8 0)
[(1 10 0)
((emacs
(26 3)))
"Show function arglist or variable docstring in echo area" single
@ -699,7 +712,7 @@
("William Xu" . "william.xwl@gmail.com"))
(:maintainer "William Xu" . "william.xwl@gmail.com"))])
(elisp-benchmarks .
[(1 6)
[(1 8)
nil "elisp benchmarks collection" tar
((:maintainer "Andrea Corallo" . "akrl@sdf.org")
(:authors
@ -751,13 +764,13 @@
("Matthew L. Fidler" . "matthew.fidler@gmail.com"))
(:keywords "convenience"))])
(excorporate .
[(0 8 3)
[(0 9 0)
((emacs
(24 1))
(fsm
(0 2 1))
(soap-client
(3 1 5))
(3 2 0))
(url-http-ntlm
(2 0 4))
(nadvice
@ -825,16 +838,6 @@
(:authors
("Pavel Kobyakov" . "pk_at_work@yahoo.com"))
(:maintainer "João Távora" . "joaotavora@gmail.com"))])
(fountain-mode .
[(2 7 3)
((emacs
(24 5)))
"Major mode for screenwriting in Fountain markup" single
((:keywords "wp" "text")
(:authors
("Paul W. Rankin" . "pwr@sdf.org"))
(:maintainer "Paul W. Rankin" . "pwr@sdf.org")
(:url . "https://fountain-mode.org"))])
(frame-tabs .
[(1 1)
nil "show buffer tabs in side window" single
@ -911,7 +914,7 @@
(:keywords "gnome" "c" "coding style")
(:url . "http://elpa.gnu.org/packages/gnome-c-style.html"))])
(gnorb .
[(1 6 7)
[(1 6 8)
((cl-lib
(0 5)))
"Glue code between Gnus, Org, and BBDB" tar
@ -1035,7 +1038,7 @@
("Oleh Krehel" . "ohwoeowho@gmail.com"))
(:keywords "bindings"))])
(hyperbole .
[(7 1 2)
[(7 1 3)
((emacs
(24 4)))
"GNU Hyperbole: The Everyday Hypertextual Information Manager" tar
@ -1087,6 +1090,21 @@
("Clemens Radermacher" . "clemera@posteo.net"))
(:maintainer "Clemens Radermacher" . "clemera@posteo.net")
(:url . "https://github.com/clemera/ivy-explorer"))])
(ivy-posframe .
[(0 5 0)
((emacs
(26 0))
(posframe
(0 8 0))
(ivy
(0 13 0)))
"Using posframe to show Ivy" single
((:keywords "abbrev" "convenience" "matching" "ivy")
(:authors
("Feng Shu" . "tumashu@163.com")
("Naoya Yamashita" . "conao3@gmail.com"))
(:maintainer "Feng Shu" . "tumashu@163.com")
(:url . "https://github.com/tumashu/ivy-posframe"))])
(javaimp .
[(0 7 1)
nil "Add and reorder Java import statements in Maven/Gradle projects" tar
@ -1308,7 +1326,7 @@
("Stefan Monnier" . "monnier@iro.umontreal.ca"))
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
(minimap .
[(1 3)
[(1 4)
nil "Sidebar showing a \"mini-map\" of a buffer" single
((:url . "http://elpa.gnu.org/packages/minimap.html")
(:authors
@ -1325,7 +1343,7 @@
("Michael Abraham Shulman" . "viritrilbia@gmail.com"))
(:keywords "convenience" "faces" "languages" "tools"))])
(modus-operandi-theme .
[(0 10 0)
[(0 12 0)
((emacs
(26 1)))
"Accessible light theme (WCAG AAA)" single
@ -1335,7 +1353,7 @@
(:maintainer "Protesilaos Stavrou" . "info@protesilaos.com")
(:url . "https://gitlab.com/protesilaos/modus-themes"))])
(modus-vivendi-theme .
[(0 10 0)
[(0 12 0)
((emacs
(26 1)))
"Accessible dark theme (WCAG AAA)" single
@ -1447,8 +1465,12 @@
("Felix Lee <felix8a@gmail.com>, Michal Nazarewicz" . "mina86@mina86.com"))
(:maintainer "Michal Nazarewicz" . "mina86@mina86.com"))])
(oauth2 .
[(0 13)
nil "OAuth 2.0 Authorization Protocol" single
[(0 15)
((cl-lib
(0 5))
(nadvice
(0 3)))
"OAuth 2.0 Authorization Protocol" single
((:url . "http://elpa.gnu.org/packages/oauth2.html")
(:keywords "comm")
(:authors
@ -1466,16 +1488,6 @@
(:authors
("Clemens Radermacher" . "clemera@posteo.net"))
(:keywords "convenience"))])
(olivetti .
[(1 7 1)
((emacs
(24 5)))
"Minor mode for a nice writing environment" single
((:url . "http://elpa.gnu.org/packages/olivetti.html")
(:keywords "wp" "text")
(:authors
("Paul W. Rankin" . "pwr@sdf.org"))
(:maintainer "Paul W. Rankin" . "pwr@sdf.org"))])
(omn-mode .
[(1 2)
nil "Support for OWL Manchester Notation" single
@ -1494,7 +1506,7 @@
(:maintainer "Michael Heerdegen" . "michael_heerdegen@web.de")
(:url . "https://github.com/michael-heerdegen/on-screen.el"))])
(org .
[(9 3 6)
[(9 4)
nil "Outline-based notes management and organizer" tar
((:url . "https://orgmode.org")
(:maintainer "Bastien Guerry" . "bzg@gnu.org")
@ -1502,7 +1514,7 @@
("Carsten Dominik <carsten at orgmode dot org>"))
(:keywords "outlines" "hypermedia" "calendar" "wp"))])
(org-edna .
[(1 1 1)
[(1 1 2)
((emacs
(25 1))
(seq
@ -1515,8 +1527,19 @@
(:authors
("Ian Dunn" . "dunni@gnu.org"))
(:keywords "convenience" "text" "org"))])
(org-translate .
[(0 1 1)
((emacs
(25 1))
(org
(9 1)))
"Org-based translation environment" single
((:url . "http://elpa.gnu.org/packages/org-translate.html")
(:authors
("Eric Abrahamsen" . "eric@ericabrahamsen.net"))
(:maintainer "Eric Abrahamsen" . "eric@ericabrahamsen.net"))])
(orgalist .
[(1 12)
[(1 13)
((emacs
(24 4)))
"Manage Org-like lists in non-Org buffers" single
@ -1600,7 +1623,7 @@
("Phillip Lord" . "phillip.lord@russet.org.uk"))
(:url . "http://elpa.gnu.org/packages/persist.html"))])
(phps-mode .
[(0 3 52)
[(0 3 62)
((emacs
(26)))
"Major mode for PHP with Semantic integration" tar
@ -1626,7 +1649,7 @@
("Mario Lang" . "mlang@delysid.org"))
(:maintainer "Mario Lang" . "mlang@delysid.org"))])
(posframe .
[(0 7 0)
[(0 8 0)
((emacs
(26)))
"Pop a posframe (just a frame) at point" single
@ -1636,9 +1659,11 @@
(:maintainer "Feng Shu" . "tumashu@163.com")
(:url . "https://github.com/tumashu/posframe"))])
(project .
[(0 5 0)
[(0 5 2)
((emacs
(26 3)))
(26 3))
(xref
(1 0 2)))
"Operations on the current project" single
((:url . "http://elpa.gnu.org/packages/project.html"))])
(psgml .
@ -1861,8 +1886,16 @@
(:authors
("Stefan Monnier" . "monnier@iro.umontreal.ca"))
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
(rt-liberation .
[(1 31)
nil "Emacs interface to RT" tar
((:url . "http://www.nongnu.org/rtliber/")
(:maintainer "Yoni Rabkin" . "yrk@gnu.org")
(:authors
("Yoni Rabkin" . "yrk@gnu.org"))
(:keywords "rt" "tickets"))])
(rudel .
[(0 3 1)
[(0 3 2)
((emacs
(24))
(cl-lib
@ -1905,7 +1938,7 @@
("Stefan Monnier" . "monnier@iro.umontreal.ca"))
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
(seq .
[(2 20)
[(2 22)
nil "Sequence manipulation functions" tar
((:maintainer nil . "emacs-devel@gnu.org")
(:authors
@ -1920,6 +1953,16 @@
(:authors
("Michael R. Mauger" . "michael@mauger.com"))
(:maintainer "Michael R. Mauger" . "michael@mauger.com"))])
(shell-command+ .
[(2 0 0)
((emacs
(24 1)))
"An extended shell-command" tar
((:url . "http://elpa.gnu.org/packages/shell-command+.html")
(:maintainer "Philip K." . "philipk@posteo.net")
(:authors
("Philip K." . "philipk@posteo.net"))
(:keywords "unix" "processes" "convenience"))])
(shen-mode .
[(0 1)
nil "A major mode for editing shen source code" tar
@ -1978,8 +2021,18 @@
(" Matthias Blume" . "blume@cs.princeton.edu")
(" (Stefan Monnier)" . "monnier@iro.umontreal.ca"))
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
(so-long .
[(1 0)
((emacs
(24 4)))
"Say farewell to performance problems with minified code." single
((:keywords "convenience")
(:authors
("Phil Sainty" . "psainty@orcon.net.nz"))
(:maintainer "Phil Sainty" . "psainty@orcon.net.nz")
(:url . "https://savannah.nongnu.org/projects/so-long"))])
(soap-client .
[(3 1 5)
[(3 2 0)
((cl-lib
(0 6 1)))
"Access SOAP web services" tar
@ -2018,6 +2071,14 @@
("Artur Malabarba" . "emacs@endlessparentheses.com"))
(:maintainer "Artur Malabarba" . "emacs@endlessparentheses.com")
(:url . "https://github.com/Malabarba/spinner.el"))])
(sql-beeline .
[(0 1)
nil "Beeline support for sql.el" single
((:url . "http://elpa.gnu.org/packages/sql-beeline.html")
(:keywords "sql" "hive" "beeline" "hiveserver2")
(:authors
("Filipp Gunbin" . "fgunbin@fastmail.fm"))
(:maintainer "Filipp Gunbin" . "fgunbin@fastmail.fm"))])
(sql-indent .
[(1 5)
((cl-lib
@ -2049,7 +2110,7 @@
(:keywords "stream" "laziness" "sequences")
(:url . "http://elpa.gnu.org/packages/stream.html"))])
(svg .
[(1 0)
[(1 1)
((emacs
(25)))
"SVG image creation functions" single
@ -2060,7 +2121,7 @@
("Felix E. Klee" . "felix.klee@inka.de"))
(:maintainer "Lars Magne Ingebrigtsen" . "larsi@gnus.org"))])
(svg-clock .
[(1 1)
[(1 2)
((svg
(1 0))
(emacs
@ -2142,7 +2203,7 @@
("Oleh Krehel" . "ohwoeowho@gmail.com"))
(:keywords "convenience"))])
(tramp .
[(2 4 4 1)
[(2 4 4 2)
((emacs
(24 4)))
"Transparent Remote Access, Multiple Protocol" tar
@ -2182,7 +2243,7 @@
(:maintainer "Toby Cubitt" . "toby-predictive@dr-qubit.org")
(:url . "http://www.dr-qubit.org/emacs.php"))])
(undo-tree .
[(0 7 4)
[(0 7 5)
nil "Treat undo history as a tree" single
((:keywords "convenience" "files" "undo" "redo" "history" "tree")
(:authors
@ -2296,13 +2357,13 @@
("Stefan Monnier" . "monnier@iro.umontreal.ca"))
(:maintainer "Stefan Monnier" . "monnier@iro.umontreal.ca"))])
(vlf .
[(1 7 1)
[(1 7 2)
nil "View Large Files" tar
((:url . "https://github.com/m00natic/vlfi")
(:maintainer "Andrey Kotlarski" . "m00naticus@gmail.com")
(:keywords "large files" "utilities"))])
(wcheck-mode .
[(2019 6 17)
[(2020 10 4)
nil "General interface for text checkers" single
((:keywords "text" "spell" "check" "languages" "ispell")
(:authors
@ -2350,7 +2411,7 @@
(:keywords "communication" "websocket" "server")
(:url . "http://elpa.gnu.org/packages/websocket.html"))])
(which-key .
[(3 3 0)
[(3 3 2)
((emacs
(24 4)))
"Display available keybindings in popup" tar
@ -2448,11 +2509,9 @@
("Mattias Engdegård" . "mattiase@acm.org"))
(:keywords "lisp" "regexps"))])
(xref .
[(1 0 1)
[(1 0 3)
((emacs
(26 3))
(project
(0 1 1)))
(26 3)))
"Cross-referencing commands" single
((:url . "http://elpa.gnu.org/packages/xref.html"))])
(yasnippet .

View File

@ -1 +1 @@
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2020-07-31T05:05:02-0400 using RSA
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2020-10-05T17:05:02-0400 using RSA

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
(define-package "auto-complete" "20170125.245" "Auto Completion for GNU Emacs"
'((popup "0.5.0")
(cl-lib "0.5"))
:commit "c0836fa0662095071e3c40237db611063e3c3ceb")
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -50,7 +50,7 @@ See `auto-complete-mode' for more information on Auto-Complete mode.
;;; Generated autoloads from auto-complete-config.el
(autoload 'ac-config-default "auto-complete-config" "\
No documentation.
\(fn)" nil nil)

View File

@ -1,6 +1,6 @@
;;; auto-complete-config.el --- auto-complete additional configuations
;; Copyright (C) 2009, 2010 Tomohiro Matsuyama
;; Copyright (C) 2009-2010 Tomohiro Matsuyama
;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com>
;; Keywords: convenience
@ -47,6 +47,7 @@
(ac-clear-variable-every-10-minutes 'ac-imenu-index)
(defun ac-imenu-candidates ()
"No documentation."
(cl-loop with i = 0
with stack = (progn
(unless (local-variable-p 'ac-imenu-index)
@ -95,6 +96,7 @@
:group 'auto-complete)
(defun ac-gtags-candidate ()
"No documentation."
(ignore-errors
(split-string (shell-command-to-string (format "global -ciq %s" ac-prefix)) "\n")))
@ -119,6 +121,7 @@
:group 'auto-complete)
(defun ac-yasnippet-table-hash (table)
"No documentation, TABLE."
(cond
((fboundp 'yas/snippet-table-hash)
(yas/snippet-table-hash table))
@ -126,6 +129,7 @@
(yas/table-hash table))))
(defun ac-yasnippet-table-parent (table)
"No documentation, TABLE."
(cond
((fboundp 'yas/snippet-table-parent)
(yas/snippet-table-parent table))
@ -133,6 +137,7 @@
(yas/table-parent table))))
(defun ac-yasnippet-candidate-1 (table)
"No documentation, TABLE."
(with-no-warnings
(let ((hashtab (ac-yasnippet-table-hash table))
(parent (ac-yasnippet-table-parent table))
@ -141,12 +146,13 @@
(push key candidates))
hashtab)
(setq candidates (all-completions ac-prefix (nreverse candidates)))
(if parent
(setq candidates
(append candidates (ac-yasnippet-candidate-1 parent))))
(when parent
(setq candidates
(append candidates (ac-yasnippet-candidate-1 parent))))
candidates)))
(defun ac-yasnippet-candidates ()
"No documentation."
(with-no-warnings
(cond (;; 0.8 onwards
(fboundp 'yas-active-keys)
@ -166,8 +172,8 @@
(yas/snippet-table major-mode)
;; 0.6.0
(yas/current-snippet-table))))
(if table
(ac-yasnippet-candidate-1 table)))))))
(when table
(ac-yasnippet-candidate-1 table)))))))
(ac-define-source yasnippet
'((depends yasnippet)
@ -180,6 +186,7 @@
;; semantic
(defun ac-semantic-candidates (prefix)
"No documentation, PREFIX."
(with-no-warnings
(delete "" ; semantic sometimes returns an empty string
(mapcar (lambda (elem)
@ -191,6 +198,7 @@
(senator-find-tag-for-completion prefix)))))))
(defun ac-semantic-doc (symbol)
"No documentation, SYMBOL."
(with-no-warnings
(let* ((proto (semantic-format-tag-summarize-with-file symbol nil t))
(doc (semantic-documentation-for-tag symbol))
@ -200,6 +208,7 @@
res)))
(defun ac-semantic-action ()
"No documentation."
(when (and (boundp 'yas-minor-mode) yas-minor-mode)
(let* ((tag (car (last (oref (semantic-analyze-current-context) prefix))))
(class (semantic-tag-class tag))
@ -242,6 +251,7 @@
;; eclim
(defun ac-eclim-candidates ()
"No documentation."
(with-no-warnings
(cl-loop for c in (eclim/java-complete)
collect (nth 1 c))))
@ -421,11 +431,13 @@
"Current editing property.")
(defun ac-css-prefix ()
"No documentation."
(when (save-excursion (re-search-backward "\\_<\\(.+?\\)\\_>\\s *:[^;]*\\=" nil t))
(setq ac-css-property (match-string 1))
(or (ac-prefix-symbol) (point))))
(defun ac-css-property-candidates ()
"No documentation."
(let ((list (assoc-default ac-css-property ac-css-property-alist)))
(if list
(cl-loop with seen
@ -467,20 +479,24 @@
;; ropemacs
(defvar ac-ropemacs-loaded nil)
(defun ac-ropemacs-require ()
"No documentation."
(with-no-warnings
(unless ac-ropemacs-loaded
(pymacs-load "ropemacs" "rope-")
(if (boundp 'ropemacs-enable-autoimport)
(setq ropemacs-enable-autoimport t))
(when (boundp 'ropemacs-enable-autoimport)
(setq ropemacs-enable-autoimport t))
(setq ac-ropemacs-loaded t))))
(defun ac-ropemacs-setup ()
"No documentation."
(ac-ropemacs-require)
;(setq ac-sources (append (list 'ac-source-ropemacs) ac-sources))
;;(setq ac-sources (append (list 'ac-source-ropemacs) ac-sources))
(setq ac-omni-completion-sources '(("\\." ac-source-ropemacs))))
(defun ac-ropemacs-initialize ()
"No documentation."
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
@ -523,22 +539,38 @@
;;;; Default settings
(defun ac-common-setup ()
;(add-to-list 'ac-sources 'ac-source-filename)
"No documentation."
;; TODO: Don't know this is commented; leave an empty function.
;;(add-to-list 'ac-sources 'ac-source-filename)
)
(defun ac-emacs-lisp-mode-setup ()
(setq ac-sources (append '(ac-source-features ac-source-functions ac-source-yasnippet ac-source-variables ac-source-symbols) ac-sources)))
"No documentation."
(setq ac-sources (cl-union '(ac-source-features
ac-source-functions
ac-source-yasnippet
ac-source-variables
ac-source-symbols)
ac-sources)))
(defun ac-cc-mode-setup ()
(setq ac-sources (append '(ac-source-yasnippet ac-source-gtags) ac-sources)))
"No documentation."
(setq ac-sources (cl-union '(ac-source-yasnippet ac-source-gtags)
ac-sources)))
(defun ac-ruby-mode-setup ())
(defun ac-ruby-mode-setup ()
"No documentation."
;; TODO: Don't know this is commented; leave an empty function.
)
(defun ac-css-mode-setup ()
(setq ac-sources (append '(ac-source-css-property) ac-sources)))
"No documentation."
(setq ac-sources (cl-union '(ac-source-css-property)
ac-sources)))
;;;###autoload
(defun ac-config-default ()
"No documentation."
(setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
(add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)

View File

@ -0,0 +1,7 @@
(define-package "auto-complete" "20201001.1341" "Auto Completion for GNU Emacs"
'((popup "0.5.0")
(cl-lib "0.5"))
:commit "cbf8aaacb7613916cd932af7bd06cbed48114510")
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -1,6 +1,6 @@
;;; auto-complete.el --- Auto Completion for GNU Emacs
;; Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Tomohiro Matsuyama
;; Copyright (C) 2008-2015 Tomohiro Matsuyama
;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com>
;; URL: https://github.com/auto-complete/auto-complete
@ -44,14 +44,14 @@
(defconst ac-version "1.5.1"
"Version of auto-complete in string format.
"Version of `auto-complete' in string format.
Use `version-to-list' to get version component.")
(defconst ac-version-major (car (version-to-list ac-version))
"Major version number of auto-complete")
"Major version number of `auto-complete'.")
(defconst ac-version-minor (cadr (version-to-list ac-version))
"Minor version number of auto-complete")
"Minor version number of `auto-complete'.")
(require 'cl-lib)
(require 'popup)
@ -59,7 +59,9 @@ Use `version-to-list' to get version component.")
;;;; Global stuff
(defun ac-error (&optional var)
"Report an error and disable `auto-complete-mode'."
"Report an error and disable 'auto-complete-mode'.
An optional argument VAR is the message related to the current error."
(ignore-errors
(message "auto-complete error: %s" var)
(auto-complete-mode -1)
@ -141,7 +143,7 @@ Use `version-to-list' to get version component.")
:group 'auto-complete)
(defcustom ac-user-dictionary nil
"User defined dictionary"
"User defined dictionary."
:type '(repeat string)
:group 'auto-complete)
@ -156,9 +158,9 @@ Use `version-to-list' to get version component.")
(when load-file-name
(let ((installed-dir (file-name-directory load-file-name)))
(cl-loop for name in '("ac-dict" "dict")
for dir = (concat installed-dir name)
if (file-directory-p dir)
collect dir))))
for dir = (concat installed-dir name)
if (file-directory-p dir)
collect dir))))
"Dictionary directories."
:type '(repeat string)
:group 'auto-complete)
@ -191,36 +193,37 @@ Use `version-to-list' to get version component.")
(defvaralias 'ac-quick-help-prefer-x 'ac-quick-help-prefer-pos-tip)
(defcustom ac-candidate-limit nil
"Limit number of candidates. Non-integer means no limit."
"Limit number of candidates. Non-integer means no limit."
:type 'integer
:group 'auto-complete)
(defvaralias 'ac-candidate-max 'ac-candidate-limit)
(defcustom ac-modes
'(emacs-lisp-mode lisp-mode lisp-interaction-mode
slime-repl-mode
nim-mode c-mode cc-mode c++-mode objc-mode swift-mode go-mode
java-mode malabar-mode clojure-mode clojurescript-mode scala-mode
scheme-mode
ocaml-mode tuareg-mode coq-mode haskell-mode agda-mode agda2-mode
perl-mode cperl-mode python-mode ruby-mode lua-mode tcl-mode
ecmascript-mode javascript-mode js-mode js-jsx-mode js2-mode js2-jsx-mode
coffee-mode php-mode css-mode scss-mode less-css-mode
elixir-mode
makefile-mode sh-mode fortran-mode f90-mode ada-mode
xml-mode sgml-mode web-mode
ts-mode
sclang-mode
verilog-mode
qml-mode
apples-mode)
"Major modes `auto-complete-mode' can run on."
(append
'(emacs-lisp-mode lisp-mode lisp-interaction-mode)
'(slime-repl-mode)
'(nim-mode c-mode cc-mode c++-mode objc-mode swift-mode go-mode)
'(java-mode malabar-mode clojure-mode clojurescript-mode scala-mode)
'(scheme-mode)
'(ocaml-mode tuareg-mode coq-mode haskell-mode agda-mode agda2-mode)
'(perl-mode cperl-mode python-mode ruby-mode lua-mode tcl-mode)
'(ecmascript-mode javascript-mode js-mode js-jsx-mode js2-mode js2-jsx-mode)
'(coffee-mode php-mode css-mode scss-mode less-css-mode)
'(elixir-mode)
'(makefile-mode sh-mode fortran-mode f90-mode ada-mode)
'(xml-mode sgml-mode web-mode)
'(ts-mode)
'(sclang-mode)
'(verilog-mode)
'(qml-mode)
'(apples-mode))
"Major modes 'auto-complete-mode' can run on."
:type '(repeat symbol)
:group 'auto-complete)
(defcustom ac-compatible-packages-regexp
"^ac-"
"Regexp to indicate what packages can work with auto-complete."
"Regexp to indicate what packages can work with `auto-complete'."
:type 'string
:group 'auto-complete)
@ -265,9 +268,9 @@ and if there is no completions, an original command will be fallbacked."
(defcustom ac-auto-start 2
"Non-nil means completion will be started automatically.
Positive integer means if a length of a word you entered is larger than the value,
completion will be started automatically.
If you specify `nil', never be started automatically."
Positive integer means if a length of a word you entered is larger than
the value, completion will be started automatically.
If you specify 'nil', never be started automatically."
:type '(choice (const :tag "Yes" t)
(const :tag "Never" nil)
(integer :tag "Require"))
@ -285,8 +288,8 @@ If you specify `nil', never be started automatically."
:group 'auto-complete)
(defcustom ac-ignore-case 'smart
"Non-nil means auto-complete ignores case.
If this value is `smart', auto-complete ignores case only when
"Non-nil means `auto-complete' ignores case.
If this value is `smart', `auto-complete' ignores case only when
a prefix doesn't contain any upper case letters."
:type '(choice (const :tag "Yes" t)
(const :tag "Smart" smart)
@ -309,17 +312,17 @@ a prefix doesn't contain any upper case letters."
:group 'auto-complete)
(defcustom ac-disable-inline nil
"Non-nil disable inline completion visibility"
"Non-nil disable inline completion visibility."
:type 'boolean
:group 'auto-complete)
(defcustom ac-candidate-menu-min 1
"Number of candidates required to display menu"
"Number of candidates required to display menu."
:type 'integer
:group 'auto-complete)
(defcustom ac-max-width nil
"Maximum width for auto-complete menu to have"
"Maximum width for `auto-complete' menu to have."
:type '(choice (const :tag "No limit" nil)
(const :tag "Character Limit" 25)
(const :tag "Window Ratio Limit" 0.5))
@ -346,7 +349,7 @@ a prefix doesn't contain any upper case letters."
:group 'auto-complete)
(defvar auto-complete-mode-hook nil
"Hook for `auto-complete-mode'.")
"Hook for 'auto-complete-mode'.")
@ -371,13 +374,13 @@ a prefix doesn't contain any upper case letters."
"Cons of prefix marker and selected item of last completion.")
(defvar ac-quick-help nil
"Quick help instance")
"Quick help instance.")
(defvar ac-completing nil
"Non-nil means `auto-complete-mode' is now working on completion.")
"Non-nil means 'auto-complete-mode' is now working on completion.")
(defvar ac-buffer nil
"Buffer where auto-complete is started.")
"Buffer where `auto-complete' is started.")
(defvar ac-point nil
"Start point of prefix.")
@ -431,7 +434,8 @@ If there is no common part, this will be nil.")
"Non-nil means DWIM completion will be allowed.")
(defvar ac-mode-map (make-sparse-keymap)
"Auto-complete mode map. It is also used for trigger key command. See also `ac-trigger-key'.")
"Auto-complete mode map. It is also used for trigger key command.
See also `ac-trigger-key'.")
(defvar ac-completing-map
(let ((map (make-sparse-keymap)))
@ -477,8 +481,12 @@ If there is no common part, this will be nil.")
(define-key map "\C-s" 'ac-isearch)
(define-key map [mouse-1] 'ac-mouse-1)
(define-key map [down-mouse-1] 'ac-ignore)
(define-key map [mouse-4] 'ac-mouse-4)
(define-key map [mouse-5] 'ac-mouse-5)
(if (string-equal system-type "gnu/linux")
(progn
(define-key map [mouse-4] 'ac-mouse-4)
(define-key map [mouse-5] 'ac-mouse-5))
(define-key map [wheel-up] 'ac-mouse-4)
(define-key map [wheel-down] 'ac-mouse-5))
map)
"Keymap for completion on completing menu.")
@ -507,7 +515,7 @@ If there is no common part, this will be nil.")
"Compiled source of `ac-sources'.")
(defvar ac-current-sources nil
"Current working sources. This is sublist of `ac-compiled-sources'.")
"Current working sources. This is sublist of 'ac-compiled-sources'.")
(defvar ac-omni-completion-sources nil
"Do not use this anymore.")
@ -524,18 +532,23 @@ If there is no common part, this will be nil.")
"Database of completion history.")
(defsubst ac-comphist-make-tab ()
"No documentation."
(make-hash-table :test 'equal))
(defsubst ac-comphist-tab (db)
"No documentation, DB."
(nth 0 db))
(defsubst ac-comphist-cache (db)
"No documentation, DB."
(nth 1 db))
(defun ac-comphist-make (&optional tab)
"No documentation, TAB."
(list (or tab (ac-comphist-make-tab)) (make-hash-table :test 'equal :weakness t)))
(defun ac-comphist-get (db string &optional create)
"No documentation, DB, STRING, CREATE."
(let* ((tab (ac-comphist-tab db))
(index (gethash string tab)))
(when (and create (null index))
@ -544,6 +557,7 @@ If there is no common part, this will be nil.")
index))
(defun ac-comphist-add (db string prefix)
"No documentation, DB, STRING, PREFIX."
(setq prefix (min prefix (1- (length string))))
(when (<= 0 prefix)
(setq string (substring-no-properties string))
@ -552,6 +566,7 @@ If there is no common part, this will be nil.")
(remhash string (ac-comphist-cache db)))))
(defun ac-comphist-score (db string prefix)
"No documentation, DB, STRING, PREFIX."
(setq prefix (min prefix (1- (length string))))
(if (<= 0 prefix)
(let ((cache (gethash string (ac-comphist-cache db))))
@ -560,14 +575,14 @@ If there is no common part, this will be nil.")
(score 0.0))
(when stat
(cl-loop for p from 0 below (length string)
;; sigmoid function
with a = 5
with b = (/ 700.0 a) ; bounds for avoiding range error in `exp'
with d = (/ 6.0 a)
for x = (max (- b) (min b (- d (abs (- prefix p)))))
for r = (/ 1.0 (1+ (exp (* (- a) x))))
do
(cl-incf score (* (aref stat p) r))))
;; sigmoid function
with a = 5
with b = (/ 700.0 a) ; bounds for avoiding range error in `exp'
with d = (/ 6.0 a)
for x = (max (- b) (min b (- d (abs (- prefix p)))))
for r = (/ 1.0 (1+ (exp (* (- a) x))))
do
(cl-incf score (* (aref stat p) r))))
;; Weight by distance
(cl-incf score (max 0.0 (- 0.3 (/ (- (length string) prefix) 100.0))))
(unless cache
@ -578,6 +593,7 @@ If there is no common part, this will be nil.")
0.0))
(defun ac-comphist-sort (db collection prefix &optional threshold)
"No documentation, DB, COLLECTION, PREFIX, THRESHOLD."
(let (result
(n 0)
(total 0)
@ -600,6 +616,7 @@ If there is no common part, this will be nil.")
result)))
(defun ac-comphist-serialize (db)
"No documentation, DB."
(let (alist)
(maphash (lambda (k v)
(push (cons k v) alist))
@ -607,6 +624,7 @@ If there is no common part, this will be nil.")
(list alist)))
(defun ac-comphist-deserialize (sexp)
"No documentation, SEXP."
(condition-case nil
(ac-comphist-make (let ((tab (ac-comphist-make-tab)))
(mapc (lambda (cons)
@ -616,10 +634,12 @@ If there is no common part, this will be nil.")
(error (message "Invalid comphist db.") nil)))
(defun ac-comphist-init ()
"No documentation."
(ac-comphist-load)
(add-hook 'kill-emacs-hook 'ac-comphist-save))
(defun ac-comphist-load ()
"No documentation."
(interactive)
(let ((db (if (file-exists-p ac-comphist-file)
(ignore-errors
@ -630,6 +650,7 @@ If there is no common part, this will be nil.")
(setq ac-comphist (or db (ac-comphist-make)))))
(defun ac-comphist-save ()
"No documentation."
(interactive)
(require 'pp)
(ignore-errors
@ -640,18 +661,22 @@ If there is no common part, this will be nil.")
;;;; Dictionary
(defvar ac-buffer-dictionary nil)
(defvar ac-file-dictionary (make-hash-table :test 'equal))
(defvar ac-buffer-dictionary nil
"No documentation.")
(defvar ac-file-dictionary (make-hash-table :test 'equal)
"No documentation.")
(defun ac-clear-dictionary-cache ()
"No documentation."
(interactive)
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(if (local-variable-p 'ac-buffer-dictionary)
(kill-local-variable 'ac-buffer-dictionary))))
(when (local-variable-p 'ac-buffer-dictionary)
(kill-local-variable 'ac-buffer-dictionary))))
(clrhash ac-file-dictionary))
(defun ac-file-dictionary (filename)
"No documentation, FILENAME."
(let ((cache (gethash filename ac-file-dictionary 'none)))
(if (and cache (not (eq cache 'none)))
cache
@ -664,14 +689,16 @@ If there is no common part, this will be nil.")
result))))
(defun ac-mode-dictionary (mode)
"No documentation, MODE."
(cl-loop for name in (cons (symbol-name mode)
(ignore-errors (list (file-name-extension (buffer-file-name)))))
append (cl-loop for dir in ac-dictionary-directories
for file = (concat dir "/" name)
if (file-exists-p file)
append (ac-file-dictionary file))))
(ignore-errors (list (file-name-extension (buffer-file-name)))))
append (cl-loop for dir in ac-dictionary-directories
for file = (concat dir "/" name)
if (file-exists-p file)
append (ac-file-dictionary file))))
(defun ac-buffer-dictionary (&optional buffer)
"No documentation, BUFFER."
(with-current-buffer (or buffer (current-buffer))
(if (local-variable-p 'ac-buffer-dictionary)
ac-buffer-dictionary
@ -695,17 +722,18 @@ If there is no common part, this will be nil.")
(line-beginning-position)))))
(defun ac-stop-word-p (word)
"No documentation, WORD."
(or (member word ac-stop-words)
(if ac-use-dictionary-as-stop-words
(member word (ac-buffer-dictionary)))))
(when ac-use-dictionary-as-stop-words
(member word (ac-buffer-dictionary)))))
(defun ac-prefix-default ()
"Same as `ac-prefix-symbol' but ignore a number prefix."
(let ((start (ac-prefix-symbol))
(case-fold-search t))
(when (and start
(not (string-match-p "\\`\\(?:0[xbo][0-9a-f]+\\|[0-9]+\\)"
(buffer-substring-no-properties start (point)))))
(not (string-match-p "\\`\\(?:0[xbo][0-9a-f]+\\|[0-9]+\\)"
(buffer-substring-no-properties start (point)))))
start)))
(defun ac-prefix-symbol ()
@ -716,9 +744,10 @@ If there is no common part, this will be nil.")
(defun ac-prefix-file ()
"File prefix."
(let ((point (re-search-backward "[\"<>' \t\r\n]" nil t)))
(if point (1+ point))))
(when point (1+ point))))
(defsubst ac-windows-remote-file-p (file)
"No documentation, FILE."
(and (memq system-type '(ms-dos windows-nt cygwin))
(string-match-p "\\`\\(?://\\|\\\\\\\\\\)" file)))
@ -754,21 +783,22 @@ If there is no common part, this will be nil.")
(defun ac-define-prefix (name prefix)
"Define new prefix definition.
You can not use it in source definition like (prefix . `NAME')."
You can not use it in source definition like (PREFIX . `NAME')."
(push (cons name prefix) ac-prefix-definitions))
(defun ac-match-substring (prefix candidates)
"No documentation, PREFIX, CANDIDATES."
(cl-loop with regexp = (regexp-quote prefix)
for candidate in candidates
if (string-match regexp candidate)
collect candidate))
(defsubst ac-source-entity (source)
(if (symbolp source)
(symbol-value source)
source))
"No documentation, SOURCE."
(if (symbolp source) (symbol-value source) source))
(defun ac-source-available-p (source)
"No documentation, SOURCE."
(if (and (symbolp source)
(get source 'available))
(eq (get source 'available) t)
@ -785,8 +815,8 @@ You can not use it in source definition like (prefix . `NAME')."
(cl-loop for feature in (assoc-default 'depends src)
unless (require feature nil t) return nil
finally return t))))
(if (symbolp source)
(put source 'available (if available t 'no)))
(when (symbolp source)
(put source 'available (if available t 'no)))
available)))
(defun ac-compile-sources (sources)
@ -811,14 +841,16 @@ You can not use it in source definition like (prefix . `NAME')."
and collect source))
(defun ac-compiled-sources ()
"No documentation."
(or ac-compiled-sources
(setq ac-compiled-sources
(ac-compile-sources ac-sources))))
(setq ac-compiled-sources (ac-compile-sources ac-sources))))
(defsubst ac-menu-live-p ()
"Return non-nil if menu is alive."
(popup-live-p ac-menu))
(defun ac-menu-create (point width height)
"No documentation POINT, WIDTH, HEIGHT."
(setq ac-menu
(popup-create point width height
:around t
@ -829,21 +861,24 @@ You can not use it in source definition like (prefix . `NAME')."
:symbol t
:scroll-bar t
:margin-left 1
:keymap ac-menu-map
)))
:keymap ac-menu-map)))
(defun ac-menu-delete ()
"Delete the completion menu."
(when ac-menu
(popup-delete ac-menu)
(setq ac-menu nil)))
(defsubst ac-inline-overlay ()
"No documentation."
(nth 0 ac-inline))
(defsubst ac-inline-live-p ()
"No documentation."
(and ac-inline (ac-inline-overlay) t))
(defun ac-inline-show (point string)
"No documentation, POINT, STRING."
(unless ac-inline
(setq ac-inline (list nil)))
(save-excursion
@ -859,9 +894,9 @@ You can not use it in source definition like (prefix . `NAME')."
(< width string-width)
(setq c (char-after))
(not (eq c ?\t))) ; special case for tab
(cl-incf width (char-width c))
(cl-incf length)
(forward-char)))
(cl-incf width (char-width c))
(cl-incf length)
(forward-char)))
;; Show completion
(goto-char point)
@ -900,12 +935,14 @@ You can not use it in source definition like (prefix . `NAME')."
(overlay-put overlay 'string original-string))))
(defun ac-inline-delete ()
"No documentation."
(when (ac-inline-live-p)
(ac-inline-hide)
(delete-overlay (ac-inline-overlay))
(setq ac-inline nil)))
(defun ac-inline-hide ()
"No documentation."
(when (ac-inline-live-p)
(let ((overlay (ac-inline-overlay))
(buffer-undo-list t))
@ -916,6 +953,7 @@ You can not use it in source definition like (prefix . `NAME')."
(overlay-put overlay 'after-string nil)))))
(defun ac-inline-update ()
"No documentation."
(if (and ac-completing ac-prefix (stringp ac-common-part))
(let ((common-part-length (length ac-common-part))
(prefix-length (length ac-prefix)))
@ -927,6 +965,7 @@ You can not use it in source definition like (prefix . `NAME')."
(ac-inline-delete)))
(defun ac-put-prefix-overlay ()
"No documentation."
(unless ac-prefix-overlay
(let (newline)
;; Insert newline to make sure that cursor always on the overlay
@ -940,6 +979,7 @@ You can not use it in source definition like (prefix . `NAME')."
(overlay-put ac-prefix-overlay 'newline newline))))
(defun ac-remove-prefix-overlay ()
"No documentation."
(when ac-prefix-overlay
(when (overlay-get ac-prefix-overlay 'newline)
;; Remove inserted newline
@ -950,6 +990,7 @@ You can not use it in source definition like (prefix . `NAME')."
(delete-overlay ac-prefix-overlay)))
(defun ac-activate-completing-map ()
"No documentation."
(if (and ac-show-menu ac-use-menu-map)
(set-keymap-parent ac-current-map ac-menu-map))
(when (and ac-use-overriding-local-map
@ -959,6 +1000,7 @@ You can not use it in source definition like (prefix . `NAME')."
(set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) ac-current-map)))
(defun ac-deactivate-completing-map ()
"No documentation."
(set-keymap-parent ac-current-map ac-completing-map)
(when (and ac-use-overriding-local-map
(eq overriding-terminal-local-map ac-current-map))
@ -967,10 +1009,12 @@ You can not use it in source definition like (prefix . `NAME')."
(set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) nil)))
(defsubst ac-selected-candidate ()
"No documentation."
(if ac-menu
(popup-selected-item ac-menu)))
(defun ac-prefix (requires ignore-list)
"No documentation, REQUIRES, IGNORE-LIST."
(cl-loop with current = (point)
with point
with point-def
@ -1026,6 +1070,7 @@ You can not use it in source definition like (prefix . `NAME')."
(eval function))))))
(defun ac-candidates-1 (source)
"No documentation, SOURCE."
(let* ((do-cache (assq 'cache source))
(function (assoc-default 'candidates source))
(action (assoc-default 'action source))
@ -1069,6 +1114,7 @@ You can not use it in source definition like (prefix . `NAME')."
candidates))
(defun ac-delete-duplicated-candidates (candidates)
"No documentation, CANDIDATES."
(cl-delete-duplicates
candidates
:test (lambda (x y)
@ -1080,6 +1126,7 @@ You can not use it in source definition like (prefix . `NAME')."
:from-end t))
(defun ac-reduce-candidates (candidates)
"No documentation, CANDIDATES."
;; Call `ac-delete-duplicated-candidates' on first portion of
;; candidate list for speed.
(let ((size 20))
@ -1127,7 +1174,9 @@ You can not use it in source definition like (prefix . `NAME')."
candidates))))
(defun ac-update-candidates (cursor scroll-top)
"Update candidates of menu to `ac-candidates' and redraw it."
"Update candidates of menu to 'ac-candidates' and redraw it.
TODO Missing documentation CURSOR, SCROLL-TOP."
(setf (popup-cursor ac-menu) cursor
(popup-scroll-top ac-menu) scroll-top)
(setq ac-dwim-enable (= (length ac-candidates) 1))
@ -1147,7 +1196,7 @@ You can not use it in source definition like (prefix . `NAME')."
(popup-draw ac-menu))))
(defun ac-reposition ()
"Force to redraw candidate menu with current `ac-candidates'."
"Force to redraw candidate menu with current 'ac-candidates'."
(let ((cursor (popup-cursor ac-menu))
(scroll-top (popup-scroll-top ac-menu))
(height (popup-height ac-menu)))
@ -1207,11 +1256,10 @@ You can not use it in source definition like (prefix . `NAME')."
(ac-cleanup))
(defun ac-extend-region-to-delete (string)
"Determine the boundary of the region to delete before
inserting the completed string. This will be either the position
of current point, or the end of the symbol at point, if the text
from point to end of symbol is the right part of the completed
string."
"Determine the boundary of the region to delete before inserting the \
completed string. This will be either the position of current point, or
the end of the symbol at point, if the text from point to end of symbol
is the right part of the completed STRING."
(let* ((end-of-symbol (or (cdr-safe (bounds-of-thing-at-point 'symbol))
(point)))
(remaindar (buffer-substring-no-properties (point) end-of-symbol))
@ -1223,11 +1271,11 @@ string."
(point))))
(defun ac-expand-string (string &optional remove-undo-boundary)
"Expand `STRING' into the buffer and update `ac-prefix' to `STRING'.
"Expand `STRING' into the buffer and update 'ac-prefix' to `STRING'.
This function records deletion and insertion sequences by `undo-boundary'.
If `remove-undo-boundary' is non-nil, this function also removes `undo-boundary'
If REMOVE-UNDO-BOUNDARY is non-nil, this function also removes `undo-boundary'
that have been made before in this function. When `buffer-undo-list' is
`t', `remove-undo-boundary' has no effect."
't', REMOVE-UNDO-BOUNDARY has no effect."
(when (eq buffer-undo-list t)
(setq remove-undo-boundary nil))
(when (not (equal string (buffer-substring ac-point (point))))
@ -1257,7 +1305,7 @@ that have been made before in this function. When `buffer-undo-list' is
(setq ac-prefix string)))
(defun ac-set-trigger-key (key)
"Set `ac-trigger-key' to `KEY'. It is recommemded to use this function instead of calling `setq'."
"Set `ac-trigger-key' to `KEY'. It is recommemded to use this function instead of calling `setq'."
;; Remove old mapping
(when ac-trigger-key
(define-key ac-mode-map (read-kbd-macro ac-trigger-key) nil))
@ -1268,15 +1316,18 @@ that have been made before in this function. When `buffer-undo-list' is
(define-key ac-mode-map (read-kbd-macro key) 'ac-trigger-key-command)))
(defun ac-set-timer ()
"Safe way to start the completion menu timer."
(unless ac-timer
(setq ac-timer (run-with-idle-timer ac-delay ac-delay 'ac-update-greedy))))
(defun ac-cancel-timer ()
"Safe way to cancel timer."
(when (timerp ac-timer)
(cancel-timer ac-timer)
(setq ac-timer nil)))
(defun ac-update (&optional force)
"No documentation, FORCE."
(when (and auto-complete-mode
ac-prefix
(or ac-triggered
@ -1299,6 +1350,7 @@ that have been made before in this function. When `buffer-undo-list' is
t))
(defun ac-update-greedy (&optional force)
"No documentation, FORCE."
(let (result)
(while (when (and (setq result (ac-update force))
(null ac-candidates))
@ -1308,16 +1360,19 @@ that have been made before in this function. When `buffer-undo-list' is
result))
(defun ac-set-show-menu-timer ()
"No documentation."
(when (and (or (integerp ac-auto-show-menu) (floatp ac-auto-show-menu))
(null ac-show-menu-timer))
(setq ac-show-menu-timer (run-with-idle-timer ac-auto-show-menu ac-auto-show-menu 'ac-show-menu))))
(defun ac-cancel-show-menu-timer ()
"No documentation."
(when (timerp ac-show-menu-timer)
(cancel-timer ac-show-menu-timer)
(setq ac-show-menu-timer nil)))
(defun ac-show-menu ()
"No documentation."
(when (not (eq ac-show-menu t))
(setq ac-show-menu t)
(ac-inline-hide)
@ -1325,34 +1380,41 @@ that have been made before in this function. When `buffer-undo-list' is
(ac-update t)))
(defun ac-help (&optional persist)
"No documentation, PERSIST."
(interactive "P")
(when ac-menu
(popup-menu-show-help ac-menu persist)))
(defun ac-persist-help ()
"No documentation."
(interactive)
(ac-help t))
(defun ac-last-help (&optional persist)
"No documentation, PERSIST."
(interactive "P")
(when ac-last-completion
(popup-item-show-help (cdr ac-last-completion) persist)))
(defun ac-last-persist-help ()
"No documentation."
(interactive)
(ac-last-help t))
(defun ac-set-quick-help-timer ()
"No documentation."
(when (and ac-use-quick-help
(null ac-quick-help-timer))
(setq ac-quick-help-timer (run-with-idle-timer ac-quick-help-delay ac-quick-help-delay 'ac-quick-help))))
(defun ac-cancel-quick-help-timer ()
"No documentation."
(when (timerp ac-quick-help-timer)
(cancel-timer ac-quick-help-timer)
(setq ac-quick-help-timer nil)))
(defun ac-pos-tip-show-quick-help (menu &optional item &rest args)
"No documentation, MENU, ITEM, ARGS."
(let* ((point (plist-get args :point))
(around nil)
(parent-offset (popup-offset menu))
@ -1380,11 +1442,13 @@ that have been made before in this function. When `buffer-undo-list' is
t)))))
(defun ac-quick-help-use-pos-tip-p ()
"No documentation."
(and ac-quick-help-prefer-pos-tip
window-system
(featurep 'pos-tip)))
(defun ac-quick-help (&optional force)
"No documentation, FORCE."
(interactive)
;; TODO don't use FORCE
(when (and (or force
@ -1395,24 +1459,25 @@ that have been made before in this function. When `buffer-undo-list' is
(null this-command))
(ac-menu-live-p)
(null ac-quick-help))
(setq ac-quick-help
(funcall (if (ac-quick-help-use-pos-tip-p)
'ac-pos-tip-show-quick-help
'popup-menu-show-quick-help)
ac-menu nil
:point ac-point
:height ac-quick-help-height
:nowait t))))
(setq ac-quick-help
(funcall (if (ac-quick-help-use-pos-tip-p)
'ac-pos-tip-show-quick-help
'popup-menu-show-quick-help)
ac-menu nil
:point ac-point
:height ac-quick-help-height
:nowait t))))
(defun ac-remove-quick-help ()
"No documentation."
(when (ac-quick-help-use-pos-tip-p)
(with-no-warnings
(pos-tip-hide)))
(with-no-warnings (pos-tip-hide)))
(when ac-quick-help
(popup-delete ac-quick-help)
(setq ac-quick-help nil)))
(defun ac-last-quick-help ()
"No documentation."
(interactive)
(when (and ac-last-completion
(eq (marker-buffer (car ac-last-completion))
@ -1429,6 +1494,7 @@ that have been made before in this function. When `buffer-undo-list' is
:margin t))))))
(defmacro ac-define-quick-help-command (name arglist &rest body)
"No documentation, NAME, ARGLIST, BODY."
(declare (indent 2))
`(progn
(defun ,name ,arglist ,@body)
@ -1449,9 +1515,11 @@ that have been made before in this function. When `buffer-undo-list' is
;;;; Auto completion isearch
(defun ac-isearch-callback (list)
"No documentation, LIST."
(setq ac-dwim-enable (eq (length list) 1)))
(defun ac-isearch ()
"No documentation."
(interactive)
(when (ac-menu-live-p)
(ac-cancel-show-menu-timer)
@ -1471,6 +1539,7 @@ that have been made before in this function. When `buffer-undo-list' is
;;;; Auto completion commands
(cl-defun auto-complete-1 (&key sources (triggered 'command))
"No documentation."
(let ((menu-live (ac-menu-live-p))
(inline-live (ac-inline-live-p))
started)
@ -1553,10 +1622,10 @@ If given a prefix argument, select the previous candidate."
(setq string (ac-selected-candidate)))
(ac-expand-string string
(or (eq last-command 'ac-expand)
(eq last-command 'ac-expand-previous)))
(eq last-command 'ac-expand-previous)))
;; Do reposition if menu at long line
(if (and (> (popup-direction ac-menu) 0)
(ac-menu-at-wrapper-line-p))
(ac-menu-at-wrapper-line-p))
(ac-reposition))
(setq ac-show-menu t)
string))))
@ -1579,6 +1648,7 @@ If given a prefix argument, select the previous candidate."
t)))
(defun ac-complete-1 (candidate)
"No documentation, CANDIDATE."
(let ((action (popup-item-property candidate 'action))
(fallback nil))
(when candidate
@ -1654,19 +1724,23 @@ If given a prefix argument, select the previous candidate."
(interactive))
(defun ac-mouse-1 (event)
"No documentation, EVENT."
(interactive "e")
(popup-awhen (popup-menu-item-of-mouse-event event)
(ac-complete-1 it)))
(defun ac-mouse-4 (event)
"No documentation, EVENT."
(interactive "e")
(ac-previous))
(defun ac-mouse-5 (event)
"No documentation, EVENT."
(interactive "e")
(ac-next))
(defun ac-trigger-key-command (&optional force)
"No documentation, FORCE."
(interactive "P")
(let (started)
(when (or force (ac-trigger-command-p last-command))
@ -1684,24 +1758,30 @@ If given a prefix argument, select the previous candidate."
(defvar ac-minutes-counter 0)
(defun ac-clear-variable-after-save (variable &optional pred)
"No documentation."
(add-to-list 'ac-clear-variables-after-save (cons variable pred)))
(defun ac-clear-variables-after-save ()
"No documentation."
(dolist (pair ac-clear-variables-after-save)
(if (or (null (cdr pair))
(funcall (cdr pair)))
(set (car pair) nil))))
(defun ac-clear-variable-every-minutes (variable minutes)
"No documentation."
(add-to-list 'ac-clear-variables-every-minute (cons variable minutes)))
(defun ac-clear-variable-every-minute (variable)
"No documentation."
(ac-clear-variable-every-minutes variable 1))
(defun ac-clear-variable-every-10-minutes (variable)
"No documentation."
(ac-clear-variable-every-minutes variable 10))
(defun ac-clear-variables-every-minute ()
"No documentation."
(cl-incf ac-minutes-counter)
(dolist (pair ac-clear-variables-every-minute)
(if (eq (% ac-minutes-counter (cdr pair)) 0)
@ -1712,6 +1792,7 @@ If given a prefix argument, select the previous candidate."
;;;; Auto complete mode
(defun ac-cursor-on-diable-face-p (&optional point)
"No documentation."
(memq (get-text-property (or point (point)) 'face) ac-disable-faces))
(defun ac-trigger-command-p (command)
@ -1723,12 +1804,14 @@ If given a prefix argument, select the previous candidate."
(string-match "electric" (symbol-name command)))))
(defun ac-fallback-key-sequence ()
"No documentation."
(setq unread-command-events
(append (this-single-command-raw-keys)
unread-command-events))
(read-key-sequence-vector ""))
(defun ac-fallback-command (&optional except-command)
"No documentation."
(let* ((auto-complete-mode nil)
(keys (ac-fallback-key-sequence))
(command (and keys (key-binding keys))))
@ -1762,6 +1845,7 @@ If given a prefix argument, select the previous candidate."
(error (ac-error var))))
(defun ac-handle-post-command ()
"No documentation."
(condition-case var
(when (and ac-triggered
(or ac-auto-start
@ -1777,6 +1861,7 @@ If given a prefix argument, select the previous candidate."
"Timer to poll end of completion.")
(defun ac-syntax-checker-workaround ()
"No documentation."
(if ac-stop-flymake-on-completing
(progn
(make-local-variable 'ac-flycheck-poll-completion-end-timer)
@ -1798,6 +1883,7 @@ If given a prefix argument, select the previous candidate."
(ad-disable-advice 'flycheck-handle-idle-change 'around 'ac-flycheck-stop-advice))))
(defun ac-setup ()
"No documentation."
(if ac-trigger-key
(ac-set-trigger-key ac-trigger-key))
(if ac-use-comphist
@ -1877,6 +1963,7 @@ completion menu. This workaround stops that annoying behavior."
(defvar ac-word-index nil)
(defun ac-candidate-words-in-buffer (point prefix limit)
"No documentation."
(let ((i 0)
candidate
candidates
@ -1901,6 +1988,7 @@ completion menu. This workaround stops that annoying behavior."
(nreverse candidates))))
(defun ac-incremental-update-word-index ()
"No documentation."
(unless (local-variable-p 'ac-word-index)
(make-local-variable 'ac-word-index))
(if (null ac-word-index)
@ -1916,10 +2004,11 @@ completion menu. This workaround stops that annoying behavior."
(setcdr ac-word-index index)))))
(defun ac-update-word-index-1 ()
"No documentation."
(unless (local-variable-p 'ac-word-index)
(make-local-variable 'ac-word-index))
(when (and (not (car ac-word-index))
(< (buffer-size) 1048576))
(< (buffer-size) 1048576)) ; NOTE: Not sure 1048576 means
;; Complete index
(setq ac-word-index
(cons t
@ -1927,6 +2016,7 @@ completion menu. This workaround stops that annoying behavior."
"\\(?:^\\|\\_>\\).*?\\(?:\\_<\\|$\\)")))))
(defun ac-update-word-index ()
"No documentation."
(dolist (buffer (buffer-list))
(when (or ac-fuzzy-enable
(not (eq buffer (current-buffer))))
@ -1934,6 +2024,7 @@ completion menu. This workaround stops that annoying behavior."
(ac-update-word-index-1)))))
(defun ac-word-candidates (&optional buffer-pred)
"No documentation."
(cl-loop initially (unless ac-fuzzy-enable (ac-incremental-update-word-index))
for buffer in (buffer-list)
if (and (or (not (integerp ac-limit)) (< (length candidates) ac-limit))
@ -1963,6 +2054,7 @@ completion menu. This workaround stops that annoying behavior."
(ac-clear-variable-every-10-minutes 'ac-symbols-cache)
(defun ac-symbol-file (symbol type)
"No documentation."
(if (fboundp 'find-lisp-object-file-name)
(find-lisp-object-file-name symbol type)
(let ((file-name (with-no-warnings
@ -1995,6 +2087,7 @@ completion menu. This workaround stops that annoying behavior."
file-name))))
(defun ac-symbol-documentation (symbol)
"No documentation."
(if (stringp symbol)
(setq symbol (intern-soft symbol)))
(ignore-errors
@ -2042,6 +2135,7 @@ completion menu. This workaround stops that annoying behavior."
(buffer-string)))))))))
(defun ac-symbol-candidates ()
"No documentation."
(or ac-symbols-cache
(setq ac-symbols-cache
(cl-loop for x being the symbols
@ -2061,6 +2155,7 @@ completion menu. This workaround stops that annoying behavior."
(ac-clear-variable-every-10-minutes 'ac-functions-cache)
(defun ac-function-candidates ()
"No documentation."
(or ac-functions-cache
(setq ac-functions-cache
(cl-loop for x being the symbols
@ -2079,6 +2174,7 @@ completion menu. This workaround stops that annoying behavior."
(ac-clear-variable-every-10-minutes 'ac-variables-cache)
(defun ac-variable-candidates ()
"No documentation."
(or ac-variables-cache
(setq ac-variables-cache
(cl-loop for x being the symbols
@ -2096,6 +2192,7 @@ completion menu. This workaround stops that annoying behavior."
(ac-clear-variable-every-10-minutes 'ac-emacs-lisp-features)
(defun ac-emacs-lisp-feature-candidates ()
"No documentation."
(or ac-emacs-lisp-features
(if (fboundp 'find-library-suffixes)
(let ((suffix (concat (regexp-opt (find-library-suffixes) t) "\\'")))
@ -2131,6 +2228,7 @@ completion menu. This workaround stops that annoying behavior."
(defvar ac-filename-cache nil)
(defun ac-filename-candidate ()
"No documentation."
(let (file-name-handler-alist)
(unless (or (and comment-start-skip
(string-match comment-start-skip ac-prefix))

View File

@ -1,3 +1,27 @@
#not_keyword
#if
#ifdef
#ifndef
#elif
#else
#endif
#defined
#include
#__include_macros
#define
#undef
#line
#error
#pragma
#import
#include_next
#warning
#ident
#sccs
#assert
#unassert
#__public_macro
#__private_macro
auto
break
case
@ -42,39 +66,81 @@ _Imaginary
_Noreturn
_Static_assert
_Thread_local
alignas
alignof
atomic_
bool
complex
imaginary
noreturn
static_assert
thread_local
#if
#elif
#else
#endif
defined
#ifdef
#ifndef
#define
#undef
#include
#line
#error
#pragma
_Pragma
__func__
__objc_yes
__objc_no
asm
fortran
#import
self
_cmd
instancetype
bool
false
true
wchar_t
_Float16
_Accum
_Fract
_Sat
_Decimal32
_Decimal64
_Decimal128
__alignof
__attribute
__builtin_choose_expr
__builtin_offsetof
__builtin_types_compatible_p
__builtin_va_arg
__extension__
__float128
__imag
__int128
__label__
__real
__thread
__FUNCTION__
__PRETTY_FUNCTION__
__auto_type
typeof
__private_extern__
__module_private__
__cdecl
__stdcall
__fastcall
__thiscall
__regcall
__vectorcall
__builtin_omp_required_simd_align
__pascal
__fp16
__bridge
__bridge_transfer
__bridge_retained
__bridge_retain
__covariant
__contravariant
__kindof
__alignof__
__asm
__asm__
__attribute__
__complex
__complex__
__const
__const__
__imag__
__inline
__inline__
__real__
__restrict
__restrict__
__signed
__signed__
__typeof
__typeof__
__volatile
__volatile__
_Nonnull
_Nullable
_Null_unspecified
__builtin_convertvector
__builtin_available
@not_keyword
@class
@compatibility_alias
@ -102,15 +168,12 @@ __bridge_retain
@dynamic
@import
@available
__attribute__((visibility("default")))
__attribute__((visibility("hidden")))
__attribute__((deprecated))
__attribute__((unavailable))
__attribute__((objc_exception))
__attribute__((objc_root_class))
__covariant
__contravariant
__kindof
self
_cmd
instancetype
id
Class
SEL
getter=
setter=
readonly
@ -128,34 +191,24 @@ nullable
null_unspecified
null_resettable
class
__attribute__((deprecated))
in
out
inout
oneway
bycopy
byref
nonnull
nullable
null_unspecified
__attribute__((unused))
super
true
false
__objc_yes
__objc_no
Class
id
SEL
__block
__strong
__weak
__unsafe_unretained
__autoreleasing
__nonnull
__nullable
__null_unspecified
IMP
BOOL
STR
NSInteger
NSUInteger
YES
NO
Nil
nil
__strong
__unsafe_unretained
__autoreleasing

View File

@ -1,4 +1,4 @@
(define-package "dash" "20200524.1947" "A modern list library for Emacs" 'nil :commit "732d92eac56023a4fb4a5dc3d9d4e274ebf44bf9" :keywords
(define-package "dash" "20200803.1520" "A modern list library for Emacs" 'nil :commit "b92ab5a39b987e4fe69317b9d9fda452300baf20" :keywords
'("lists")
:authors
'(("Magnar Sveen" . "magnars@gmail.com"))

View File

@ -1581,7 +1581,7 @@ and when that result is non-nil, through the next form, etc."
,@more))))
(defmacro -some--> (x &optional form &rest more)
"When expr in non-nil, thread it through the first form (via `-->'),
"When expr is non-nil, thread it through the first form (via `-->'),
and when that result is non-nil, through the next form, etc."
(declare (debug ->)
(indent 1))

View File

@ -1,6 +1,6 @@
(define-package "dracula-theme" "20200527.1834" "Dracula Theme"
(define-package "dracula-theme" "20200814.1717" "Dracula Theme"
'((emacs "24.3"))
:commit "f98f9bd54e965e8676ee15ce8b4ecbeae01341ed" :authors
:commit "3b7c2905d249f47bc9c09d304c16f72f217df2e0" :authors
'(("film42"))
:maintainer
'("film42")

View File

@ -476,7 +476,11 @@ read it before opening a new issue about your will.")
(message-header-name :foreground ,dracula-green)
(message-header-xheader :foreground ,dracula-cyan)
(message-separator :foreground ,dracula-cyan :slant italic)
(message-cited-text :foreground ,dracula-comment)
(message-cited-text :foreground ,dracula-purple)
(message-cited-text-1 :foreground ,dracula-purple)
(message-cited-text-2 :foreground ,dracula-orange)
(message-cited-text-3 :foreground ,dracula-comment)
(message-cited-text-4 :foreground ,fg2)
(message-mml :foreground ,dracula-green :weight normal)
;; mode-line
(mode-line :background ,dracula-current

View File

@ -1,5 +1,6 @@
(advice-add #'x-apply-session-resources :override #'ignore)
(setq make-backup-files nil
auto-save-default nil
visible-bell t)
(load-file "dracula-theme.el")

Binary file not shown.

View File

@ -2038,7 +2038,6 @@ The return value is the yanked text."
(current-kill 0)))
(yank-handler (car-safe (get-text-property
0 'yank-handler text)))
new-kill
paste-eob)
(evil-with-undo
(let ((kill-ring-yank-pointer (list (current-kill 0))))

View File

@ -125,7 +125,8 @@ otherwise add at the end of the list."
(set list-var (append (symbol-value list-var)
(list (cons key val)))))
(if elements
(apply #'evil-add-to-alist list-var elements)
(with-no-warnings
(apply #'evil-add-to-alist list-var elements))
(symbol-value list-var))))
(make-obsolete 'evil-add-to-alist
@ -1529,7 +1530,7 @@ last successful match (that caused COUNT to reach zero)."
(while
(and (setq match
(re-search-forward
"<\\([^/ >]+\\)\\(?:[^\"/>]\\|\"[^\"]*\"\\)*?>\\|</\\([^>]+?\\)>"
"<\\([^/ >\n]+\\)\\(?:[^\"/>]\\|\"[^\"]*\"\\)*?>\\|</\\([^>]+?\\)>"
nil t dir))
(cond
((match-beginning op)
@ -1563,7 +1564,7 @@ last successful match (that caused COUNT to reach zero)."
(let* ((tag (match-string cl))
(refwd (concat "<\\(/\\)?"
(regexp-quote tag)
"\\(?:>\\| \\(?:[^\"/>]\\|\"[^\"]*\"\\)*?>\\)"))
"\\(?:>\\|[ \n]\\(?:[^\"/>]\\|\"[^\"]*\"\\)*?>\\)"))
(cnt 1))
(while (and (> cnt 0) (re-search-backward refwd nil t dir))
(setq cnt (+ cnt (if (match-beginning 1) dir (- dir)))))

View File

@ -528,6 +528,12 @@ Based on `evil-enclose-ace-jump-for-motion'."
'(when (fboundp 'eldoc-add-command-completions)
(eldoc-add-command-completions "evil-window-")))
;;; XRef
(eval-after-load 'xref
'(progn
(evil-set-command-property 'xref-find-definitions :jump t)
(evil-set-command-property 'xref-find-references :jump t)))
(provide 'evil-integration)
;;; evil-integration.el ends here

View File

@ -66,6 +66,10 @@
(defvar evil--jumps-jumping nil)
(defvar evil--jumps-jumping-backward nil
"Set by `evil--jump-backward', used and cleared in the
`post-command-hook' by `evil--jump-handle-buffer-crossing'")
(eval-when-compile (defvar evil--jumps-debug nil))
(defvar evil--jumps-buffer-targets "\\*\\(new\\|scratch\\)\\*"
@ -79,13 +83,15 @@
(cl-defstruct evil-jumps-struct
ring
(idx -1))
(idx -1)
previous-pos)
(defmacro evil--jumps-message (format &rest args)
(when evil--jumps-debug
`(with-current-buffer (get-buffer-create "*evil-jumps*")
;; Is inlining this really worth it?
(defsubst evil--jumps-message (format &rest args)
(when (eval-when-compile evil--jumps-debug)
(with-current-buffer (get-buffer-create "*evil-jumps*")
(goto-char (point-max))
(insert (apply #'format ,format ',args) "\n"))))
(insert (apply #'format format args) "\n"))))
(defun evil--jumps-get-current (&optional window)
(unless window
@ -119,19 +125,17 @@
(defun evil--jumps-savehist-sync ()
"Updates the printable value of window jumps for `savehist'."
(setq evil-jumps-history
(cl-remove-if-not #'identity
(mapcar #'(lambda (jump)
(let* ((mark (car jump))
(pos (if (markerp mark)
(marker-position mark)
mark))
(file-name (cadr jump)))
(if (and (not (file-remote-p file-name))
(file-exists-p file-name)
pos)
(list pos file-name)
nil)))
(ring-elements (evil--jumps-get-window-jump-list))))))
(delq nil (mapcar #'(lambda (jump)
(let* ((mark (car jump))
(pos (if (markerp mark)
(marker-position mark)
mark))
(file-name (cadr jump)))
(when (and (not (file-remote-p file-name))
(file-exists-p file-name)
pos)
(list pos file-name))))
(ring-elements (evil--jumps-get-window-jump-list))))))
(defun evil--jumps-jump (idx shift)
(let ((target-list (evil--jumps-get-window-jump-list)))
@ -216,23 +220,27 @@
(defun evil-set-jump (&optional pos)
"Set jump point at POS.
POS defaults to point."
(unless (or (region-active-p) (evil-visual-state-p))
(push-mark pos t))
(save-excursion
(when (markerp pos)
(set-buffer (marker-buffer pos)))
(unless evil--jumps-jumping
;; clear out intermediary jumps when a new one is set
(let* ((struct (evil--jumps-get-current))
(target-list (evil--jumps-get-jumps struct))
(idx (evil-jumps-struct-idx struct)))
(cl-loop repeat idx
do (ring-remove target-list))
(setf (evil-jumps-struct-idx struct) -1))
(save-excursion
(unless (or (region-active-p) (evil-visual-state-p))
(push-mark pos t))
(unless evil--jumps-jumping
;; clear out intermediary jumps when a new one is set
(let* ((struct (evil--jumps-get-current))
(target-list (evil--jumps-get-jumps struct))
(idx (evil-jumps-struct-idx struct)))
(cl-loop repeat idx
do (ring-remove target-list))
(setf (evil-jumps-struct-idx struct) -1))
(when pos
(goto-char pos))
(evil--jumps-push))))
(defun evil--jump-backward (count)
(setq evil--jumps-jumping-backward t)
(let ((count (or count 1)))
(evil-motion-loop (nil count)
(let* ((struct (evil--jumps-get-current))
@ -263,11 +271,13 @@ POS defaults to point."
(> (length window-list) 1))
(let* ((target-jump-struct (evil--jumps-get-current new-window)))
(if (not (ring-empty-p (evil--jumps-get-jumps target-jump-struct)))
(evil--jumps-message "target window %s already has %s jumps" new-window target-jump-count)
(evil--jumps-message "target window %s already has %s jumps" new-window
(ring-length (evil--jumps-get-jumps target-jump-struct)))
(evil--jumps-message "new target window detected; copying %s to %s" existing-window new-window)
(let* ((source-jump-struct (evil--jumps-get-current existing-window))
(source-list (evil--jumps-get-jumps source-jump-struct)))
(when (= (ring-length (evil--jumps-get-jumps target-jump-struct)) 0)
(setf (evil-jumps-struct-previous-pos target-jump-struct) (evil-jumps-struct-previous-pos source-jump-struct))
(setf (evil-jumps-struct-idx target-jump-struct) (evil-jumps-struct-idx source-jump-struct))
(setf (evil-jumps-struct-ring target-jump-struct) (ring-copy source-list)))))))
;; delete obsolete windows
@ -278,36 +288,65 @@ POS defaults to point."
evil--jumps-window-jumps)))
(defun evil--jump-hook (&optional command)
"Set jump point if COMMAND has a non-nil :jump property."
"`pre-command-hook' for evil-jumps.
Set jump point if COMMAND has a non-nil `:jump' property. Otherwise,
save the current position in case the command being executed will
change the current buffer."
(setq command (or command this-command))
(when (evil-get-command-property command :jump)
(evil-set-jump)))
(if (evil-get-command-property command :jump)
(evil-set-jump)
(setf (evil-jumps-struct-previous-pos (evil--jumps-get-current))
(point-marker))))
(defadvice switch-to-buffer (before evil-jumps activate)
(evil-set-jump))
(defun evil--jump-handle-buffer-crossing ()
(let ((jumping-backward evil--jumps-jumping-backward))
(setq evil--jumps-jumping-backward nil)
(dolist (frame (frame-list))
(dolist (window (window-list frame))
(let* ((struct (evil--jumps-get-current window))
(previous-pos (evil-jumps-struct-previous-pos struct)))
(when previous-pos
(setf (evil-jumps-struct-previous-pos struct) nil)
(if (and
;; `evil-jump-backward' (and other backward jumping
;; commands) needs to be handled specially. When
;; jumping backward multiple times, calling
;; `evil-set-jump' is always wrong: If you jump back
;; twice and we call `evil-set-jump' after the second
;; time, we clear the forward jump list and
;; `evil--jump-forward' won't work.
(defadvice split-window-internal (before evil-jumps activate)
(evil-set-jump))
(eval-after-load 'etags
'(defadvice find-tag-noselect (before evil-jumps activate)
(evil-set-jump)))
;; The first time you jump backward, setting a jump
;; point is sometimes correct. But we don't do it
;; here because this function is called after
;; `evil--jump-backward' has updated our position in
;; the jump list so, again, `evil-set-jump' would
;; break `evil--jump-forward'.
(not jumping-backward)
(let ((previous-buffer (marker-buffer previous-pos)))
(and previous-buffer
(not (eq previous-buffer (window-buffer window))))))
(evil-set-jump previous-pos)
(set-marker previous-pos nil))))))))
(if (bound-and-true-p savehist-loaded)
(evil--jumps-savehist-load)
(add-hook 'savehist-mode-hook #'evil--jumps-savehist-load))
(add-hook 'evil-local-mode-hook
(lambda ()
(if evil-local-mode
(progn
(add-hook 'pre-command-hook #'evil--jump-hook nil t)
(add-hook 'next-error-hook #'evil-set-jump nil t)
(add-hook 'window-configuration-change-hook #'evil--jumps-window-configuration-hook nil t))
(progn
(remove-hook 'pre-command-hook #'evil--jump-hook t)
(remove-hook 'next-error-hook #'evil-set-jump t)
(remove-hook 'window-configuration-change-hook #'evil--jumps-window-configuration-hook t)))))
(defun evil--jumps-install-or-uninstall ()
(if evil-local-mode
(progn
(add-hook 'pre-command-hook #'evil--jump-hook nil t)
(add-hook 'post-command-hook #'evil--jump-handle-buffer-crossing nil t)
(add-hook 'next-error-hook #'evil-set-jump nil t)
(add-hook 'window-configuration-change-hook #'evil--jumps-window-configuration-hook nil t))
(remove-hook 'pre-command-hook #'evil--jump-hook t)
(remove-hook 'post-command-hook #'evil--jump-handle-buffer-crossing t)
(remove-hook 'next-error-hook #'evil-set-jump t)
(remove-hook 'window-configuration-change-hook #'evil--jumps-window-configuration-hook t)
(evil--jump-handle-buffer-crossing)))
(add-hook 'evil-local-mode-hook #'evil--jumps-install-or-uninstall)
(provide 'evil-jumps)

Binary file not shown.

View File

@ -1,9 +1,9 @@
(define-package "evil" "20200718.842" "Extensible Vi layer for Emacs."
(define-package "evil" "20200929.1018" "Extensible Vi layer for Emacs."
'((emacs "24.1")
(undo-tree "0.7.4")
(goto-chg "1.6")
(cl-lib "0.5"))
:commit "2bc6ca3587502fde67b93e411e329fc8224c916a")
:commit "60ec41f73fb5a4c21bebf29eab1f6ef1bf1bbda9")
;; Local Variables:
;; no-byte-compile: t
;; End:

Some files were not shown because too many files have changed in this diff Show More