update org profile emacs modules

This commit is contained in:
KemoNine 2022-11-07 22:40:51 -05:00
parent a87a1491c5
commit d91e769ccd
309 changed files with 6473 additions and 10168 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,502 +0,0 @@
(defvar all-the-icons-data/file-icon-alist
'(
( "1c" . "\xa5ea" )
( "1c-alt" . "\xea28" )
( "MJML" . "\xea6f" )
( "R" . "\xe905" )
( "abap" . "\xe92b" )
( "abif" . "\xea4e" )
( "access" . "\xe9ea" )
( "actionscript" . "\xe92e" )
( "ada" . "\xe90b" )
( "ae" . "\xe9f3" )
( "ai" . "\xe6b4" )
( "akka" . "\xea0e" )
( "alex" . "\x29cb" )
( "alloy" . "\xe935" )
( "alpine-linux" . "\xe9ff" )
( "ampl" . "\xe94e" )
( "amx" . "\xe99b" )
( "angelscript" . "\xea5b" )
( "ansible" . "\x24b6" )
( "ansible-alt" . "\x61" )
( "ant" . "\xe93e" )
( "antlr" . "\xe92c" )
( "antwar" . "\x2591" )
( "api-blueprint" . "\xe92d" )
( "apl" . "\x234b" )
( "apl-old" . "\xe909" )
( "apple" . "\xe925" )
( "appveyor" . "\xe923" )
( "arc" . "\xe92f" )
( "arch-linux" . "\x41" )
( "arduino" . "\xe930" )
( "arttext" . "\x24d0" )
( "asciidoc" . "\xe918" )
( "assembly" . "\xEB4F" )
( "ats" . "\xe934" )
( "audacity" . "\xe9f9" )
( "augeas" . "\xe931" )
( "aurelia" . "\xea48" )
( "auto-hotkey" . "\xe932" )
( "autoit" . "\xe933" )
( "babel" . "\xe91f" )
( "bazel" . "\xea5a" )
( "bem" . "\xea59" )
( "bib" . "\xe601" )
( "bintray" . "\xea6e" )
( "bithound" . "\xea2a" )
( "blender" . "\xe9fa" )
( "bluespec" . "\xe93c" )
( "boo" . "\xe939" )
( "brain" . "\xe93a" )
( "brakeman" . "\xe9d6" )
( "bro" . "\xe93b" )
( "broccoli" . "\xe922" )
( "brotli" . "\xea6c" )
( "browserslist" . "\xea80" )
( "brunch" . "\xea47" )
( "buck" . "\xea46" )
( "build-boot" . "\xf103" )
( "bundler" . "\xea45" )
( "byond" . "\xe962" )
( "cabal" . "\xe9c2" )
( "caddy" . "\xea58" )
( "cake" . "\xe9e3" )
( "cakefile" . "\xe924" )
( "cakephp" . "\xea43" )
( "cakephp-old" . "\xe9d3" )
( "cc" . "\xe9d5" )
( "ceylon" . "\xe94f" )
( "chai" . "\x63" )
( "chapel" . "\xe950" )
( "chartjs" . "\xea0b" )
( "chef" . "\xea42" )
( "chuck" . "\xe943" )
( "circle-ci" . "\xea12" )
( "cirru" . "\xe951" )
( "ckeditor" . "\xea0c" )
( "clarion" . "\xe952" )
( "clean" . "\xe95b" )
( "click" . "\xe95c" )
( "clips" . "\xe940" )
( "clj" . "\xf105" )
( "cljs" . "\xf104" )
( "closure-template" . "\xea82" )
( "cmake" . "\xe93f" )
( "cobol" . "\xea44" )
( "codecov" . "\x2602" )
( "codekit" . "\xea41" )
( "codemirror" . "\xea0d" )
( "codeship" . "\xea6a" )
( "cold-fusion" . "\xe929" )
( "clisp" . "\xe972" )
( "composer" . "\xe683" )
( "config" . "\xf07c" )
( "config-coffeescript" . "\xeb18" )
( "config-go" . "\xeb12" )
( "config-haskell" . "\xeb14" )
( "config-js" . "\xeb1a" )
( "config-perl" . "\xeb19" )
( "config-python" . "\xeb15" )
( "config-react" . "\xeb16" )
( "config-ruby" . "\xeb17" )
( "config-rust" . "\xeb13" )
( "config-typescript" . "\xeb1b" )
( "coq" . "\xe95f" )
( "cordova" . "\xea11" )
( "cp" . "\xe942" )
( "cpan" . "\xea87" )
( "creole" . "\xe95e" )
( "crystal" . "\xe902" )
( "cs-script" . "\xe9e2" )
( "csound" . "\xe9f0" )
( "cucumber" . "\xf02b" )
( "cython" . "\xe963" )
( "d3" . "\xea10" )
( "darcs" . "\xe964" )
( "dart" . "\xe698" )
( "dashboard" . "\xf07d" )
( "dbase" . "\xe9f1" )
( "default" . "\x1f5cc" )
( "delphi" . "\xea40" )
( "devicetree" . "\xea57" )
( "diff" . "\xe960" )
( "dockerfile" . "\xf106" )
( "doclets" . "\xea3f" )
( "doge" . "\xe946" )
( "dom" . "\xea71" )
( "donejs" . "\x1f3c1" )
( "doxygen" . "\xe928" )
( "dragula" . "\x1f44c" )
( "drone" . "\xea3d" )
( "dyalog" . "\xe90c" )
( "dylib" . "\xea15" )
( "e" . "\x45" )
( "eagle" . "\xe965" )
( "easybuild" . "\xea85" )
( "ec" . "\xe9c9" )
( "ecere" . "\xe966" )
( "edge" . "\xea78" )
( "editorconfig" . "\xea1b" )
( "eiffel" . "\xe967" )
( "ejs" . "\xea4b" )
( "electron" . "\xea27" )
( "elm" . "\xf102" )
( "emacs" . "\xe926" )
( "elisp" . "\xe926" )
( "ember" . "\xe61b" )
( "emberscript" . "\xe968" )
( "eq" . "\xea0a" )
( "esdoc" . "\xea5c" )
( "eslint" . "\xea0f" )
( "eslint-old" . "\xe90e" )
( "excel" . "\xe9ee" )
( "fabfile" . "\xe94b" )
( "factor" . "\xe96a" )
( "fancy" . "\xe96b" )
( "fantom" . "\xe96f" )
( "fbx" . "\xe9fc" )
( "ffmpeg" . "\xea22" )
( "finder" . "\xe9e9" )
( "firebase" . "\xea7f" )
( "flow" . "\xe921" )
( "flux" . "\xe969" )
( "font" . "\xe90f" )
( "fontforge" . "\xfb00" )
( "fortran" . "\xe90a" )
( "franca" . "\xea56" )
( "freemarker" . "\xe970" )
( "frege" . "\xe96e" )
( "fsharp" . "\xe6a7" )
( "fuel-ux" . "\xea09" )
( "gams" . "\xe973" )
( "gap" . "\xe971" )
( "gdb" . "\xea08" )
( "genshi" . "\xe976" )
( "gentoo" . "\xe96d" )
( "gf" . "\xe978" )
( "gitlab" . "\xea3c" )
( "glade" . "\xe938" )
( "glyphs" . "\x47" )
( "gn" . "\xea25" )
( "gnu" . "\xe679" )
( "go" . "\xeaae" )
( "godot" . "\xe974" )
( "golo" . "\xe979" )
( "gosu" . "\xe97a" )
( "gradle" . "\xe903" )
( "graphql" . "\xe97c" )
( "graphviz" . "\xe97d" )
( "groovy" . "\xe904" )
( "grunt" . "\xe611" )
( "gulp" . "\xe610" )
( "hack" . "\xe9ce" )
( "haml" . "\xf15b" )
( "harbour" . "\xe97b" )
( "hashicorp" . "\xe97e" )
( "haxe" . "\xe907" )
( "haxedevelop" . "\xea3b" )
( "hg" . "\x263f" )
( "hoplon" . "\xea4d" )
( "hy" . "\xe97f" )
( "icu" . "\xea23" )
( "id" . "\xe9f4" )
( "idl" . "\xe947" )
( "idris" . "\xe983" )
( "igorpro" . "\xe980" )
( "image" . "\xf012" )
( "inform7" . "\xe984" )
( "inno" . "\xe985" )
( "io" . "\xe981" )
( "ioke" . "\xe982" )
( "ionic-project" . "\xf14b" )
( "isabelle" . "\xe945" )
( "j" . "\xe937" )
( "jade" . "\xe90d" )
( "jake" . "\xe948" )
( "jasmine" . "\xea3a" )
( "jenkins" . "\xe667" )
( "jest" . "\xea39" )
( "jinja" . "\xe944" )
( "jison" . "\xea55" )
( "jolie" . "\xea75" )
( "jsonld" . "\xe958" )
( "jsx" . "\xf100" )
( "jsx-2" . "\xf101" )
( "jsx2-alt" . "\xe9e6" )
( "julia" . "\x26ec" )
( "junos" . "\xea81" )
( "jupyter" . "\xe987" )
( "karma" . "\xe9cd" )
( "keynote" . "\xe9e5" )
( "khronos" . "\xe9f8" )
( "kicad" . "\xea4c" )
( "kitchenci" . "\xea38" )
( "kivy" . "\xe901" )
( "knockout" . "\x4b" )
( "kotlin" . "\xe989" )
( "krl" . "\xe988" )
( "labview" . "\xe98a" )
( "lasso" . "\xe98c" )
( "leaflet" . "\xea07" )
( "lean" . "\x4c" )
( "lerna" . "\xea37" )
( "lfe" . "\xe94c" )
( "libuv" . "\xea21" )
( "lightwave" . "\xe9fb" )
( "lime" . "\xea36" )
( "lisp" . "\xe908" )
( "livescript" . "\xe914" )
( "llvm" . "\xe91d" )
( "logtalk" . "\xe98d" )
( "lookml" . "\xe98e" )
( "lsl" . "\xe98b" )
( "lua" . "\xe91b" )
( "mako" . "\xe98f" )
( "man-page" . "\xe936" )
( "mapbox" . "\xe941" )
( "markdownlint" . "\xf0c9" )
( "marko" . "\xe920" )
( "mathematica" . "\xe990" )
( "mathjax" . "\xea06" )
( "matlab" . "\xe991" )
( "max" . "\xe993" )
( "maxscript" . "\xe900" )
( "maya" . "\xe9f6" )
( "mediawiki" . "\xe954" )
( "mercury" . "\xe994" )
( "meson" . "\xea54" )
( "metal" . "\x4d" )
( "meteor" . "\xe6a5" )
( "microsoft-infopath" . "\xea35" )
( "minecraft" . "\xe9dc" )
( "minizinc" . "\xea53" )
( "mirah" . "\xe995" )
( "miranda" . "\xea52" )
( "mocha" . "\x26fe" )
( "modula-2" . "\xe996" )
( "moment" . "\x1f558" )
( "moment-tz" . "\x1f30d" )
( "monkey" . "\xe997" )
( "moustache" . "\xe60f" )
( "mruby" . "\xea18" )
( "mupad" . "\xe9ca" )
( "nano" . "\xea76" )
( "nanoc" . "\xea51" )
( "nant" . "\xe9e1" )
( "nasm" . "\xea72" )
( "neko" . "\xea05" )
( "netlogo" . "\xe99c" )
( "new-relic" . "\xe9d7" )
( "nginx" . "\xf146b" )
( "nib" . "\x2712" )
( "nimrod" . "\xe998" )
( "nit" . "\xe999" )
( "nix" . "\xe99a" )
( "nmap" . "\xe94d" )
( "nodemon" . "\xea26" )
( "normalize" . "\xea04" )
( "npm" . "\xe91c" )
( "npm-old" . "\xf17b" )
( "nsis" . "\xea1e" )
( "nsis-old" . "\xe992" )
( "nuclide" . "\xea34" )
( "nuget" . "\xe9d9" )
( "numpy" . "\xe99d" )
( "nunjucks" . "\xe953" )
( "nvidia" . "\xe95d" )
( "nxc" . "\xea6b" )
( "obj" . "\xe9e8" )
( "objective-j" . "\xe99e" )
( "ocaml" . "\xe91a" )
( "octave" . "\xea33" )
( "odin" . "\eb36" )
( "onenote" . "\xe9eb" )
( "ooc" . "\xe9cb" )
( "opa" . "\x2601" )
( "opencl" . "\xe99f" )
( "opengl" . "\xea7a" )
( "openoffice" . "\xe9e4" )
( "openscad" . "\xe911" )
( "org" . "\xe917" )
( "owl" . "\xe957" )
( "ox" . "\xe9a1" )
( "oxygene" . "\xe9bf" )
( "oz" . "\xe9be" )
( "p4" . "\xea50" )
( "pan" . "\xe9bd" )
( "papyrus" . "\xe9bc" )
( "parrot" . "\xe9bb" )
( "pascal" . "\xe92a" )
( "patch" . "\xe961" )
( "pawn" . "\x265f" )
( "pb" . "\xea14" )
( "pegjs" . "\xea74" )
( "raku" . "\xe96c" )
( "phalcon" . "\xe94a" )
( "phoenix" . "\xea5f" )
( "php" . "\xf147" )
( "phpunit" . "\xea32" )
( "pickle" . "\xe9c4" )
( "pike" . "\xe9b9" )
( "platformio" . "\xea2c" )
( "pm2" . "\x2630" )
( "pod" . "\xea84" )
( "pogo" . "\xe9b8" )
( "pointwise" . "\xe977" )
( "polymer" . "\xea2b" )
( "pony" . "\xe9b7" )
( "postcss" . "\xe910" )
( "postscript" . "\xe955" )
( "povray" . "\x50" )
( "powerpoint" . "\xe9ec" )
( "powershell" . "\xe9da" )
( "precision" . "\x2295" )
( "premiere" . "\xe9f5" )
( "processing" . "\xe9a0" )
( "progress" . "\xe9c0" )
( "propeller" . "\xe9b5" )
( "proselint" . "\xea6d" )
( "protractor" . "\xe9de" )
( "ps" . "\xe6b8" )
( "pug" . "\xea13" )
( "pug-alt" . "\xe9d0" )
( "puppet" . "\xf0c3" )
( "purebasic" . "\x1b5" )
( "purescript" . "\xe9b2" )
( "racket" . "\xe9b1" )
( "raml" . "\xe913" )
( "rascal" . "\xea24" )
( "rdoc" . "\xe9b0" )
( "realbasic" . "\xe9af" )
( "reason" . "\xea1d" )
( "rebol" . "\xe9ae" )
( "red" . "\xe9ad" )
( "redux" . "\xea30" )
( "regex" . "\x2a" )
( "rexx" . "\xea16" )
( "rhino" . "\xea4a" )
( "ring" . "\x1f48d" )
( "riot" . "\xe919" )
( "robot" . "\xe9ac" )
( "rollup" . "\xea20" )
( "rollup-old" . "\xe9fd" )
( "rot" . "\x1f764" )
( "rspec" . "\xea31" )
( "rst" . "\xe9cc" )
( "sage" . "\xe9ab" )
( "saltstack" . "\xe915" )
( "sas" . "\xe95a" )
( "sbt" . "\xe9d2" )
( "sc" . "\xe9a2" )
( "scheme" . "\x3bb" )
( "scilab" . "\xe9a9" )
( "scrutinizer" . "\xe9d4" )
( "self" . "\xe9a8" )
( "sequelize" . "\xea2f" )
( "sf" . "\xe9db" )
( "shen" . "\xe9a7" )
( "shipit" . "\x26f5" )
( "shippable" . "\xea2d" )
( "shopify" . "\xe9cf" )
( "shuriken" . "\x272b" )
( "silverstripe" . "\xe800" )
( "sinatra" . "\xea03" )
( "sketch" . "\xe927" )
( "sketchup-layout" . "\xea7c" )
( "sketchup-make" . "\xea7e" )
( "sketchup-stylebuilder" . "\xea7d" )
( "slash" . "\xe9a6" )
( "snyk" . "\xea1c" )
( "solidity" . "\xea86" )
( "sparql" . "\xe959" )
( "spray" . "\xea02" )
( "sqf" . "\xe9a5" )
( "sqlite" . "\xe9dd" )
( "squarespace" . "\xea5e" )
( "stan" . "\xe9a4" )
( "stata" . "\xe9a3" )
( "storyist" . "\xe9ef" )
( "strings" . "\xe9e0" )
( "stylelint" . "\xe93d" )
( "stylus" . "\x73" )
( "stylus-full" . "\xe9f7" )
( "stylus-orb" . "\x53" )
( "sublime" . "\xe986" )
( "sv" . "\xe9c3" )
( "svelte" . "\x33dc" )
( "svn" . "\xea17" )
( "swagger" . "\xea29" )
( "tag" . "\xf015" )
( "tcl" . "\xe956" )
( "telegram" . "\x2708" )
( "terminal" . "\xf0c8" )
( "tern" . "\x1f54a" )
( "terraform" . "\xe916" )
( "test-coffeescript" . "\xea62" )
( "test-dir" . "\xea60" )
( "test-generic" . "\xea63" )
( "test-js" . "\xea64" )
( "test-perl" . "\xea65" )
( "test-python" . "\xea66" )
( "test-react" . "\xea67" )
( "test-ruby" . "\xea68" )
( "test-typescript" . "\xea69" )
( "tex" . "\xe600" )
( "textile" . "\x74" )
( "textmate" . "\x2122" )
( "thor" . "\xe9d8" )
( "tinymce" . "\xea01" )
( "tsx" . "\xe9d1" )
( "tsx-alt" . "\xe9e7" )
( "tt" . "\x54" )
( "turing" . "\xe9b6" )
( "twig" . "\x2e19" )
( "twine" . "\xea5d" )
( "txl" . "\xe9c1" )
( "typedoc" . "\xe9fe" )
( "typescript" . "\xe912" )
( "typescript-alt" . "\x2a6" )
( "typings" . "\xe9df" )
( "uno" . "\xe9b3" )
( "unreal" . "\x75" )
( "urweb" . "\xe9ba" )
( "v8" . "\xea1f" )
( "vagrant" . "\x56" )
( "vcl" . "\xe9b4" )
( "verilog" . "\xe949" )
( "vertex-shader" . "\xea79" )
( "vhdl" . "\xe9aa" )
( "video" . "\xf057" )
( "virtualbox" . "\xea3e" )
( "virtualbox-alt" . "\xea2e" )
( "visio" . "\xea83" )
( "vmware" . "\xea49" )
( "vue" . "\xe906" )
( "wasm" . "\xea70" )
( "watchman" . "\xea4f" )
( "webgl" . "\xea7b" )
( "webpack" . "\xea61" )
( "webpack-old" . "\xe91e" )
( "wercker" . "\xea19" )
( "word" . "\xe9ed" )
( "x10" . "\x2169" )
( "xamarin" . "\xea77" )
( "xmos" . "\x58" )
( "xpages" . "\xe9c5" )
( "xtend" . "\xe9c6" )
( "yarn" . "\xea1a" )
( "yasm" . "\xea73" )
( "yin-yang" . "\x262f" )
( "yoyo" . "\xe975" )
( "yui" . "\xea00" )
( "zbrush" . "\xe9f2" )
( "zephir" . "\xe9c7" )
( "zig" . "\x7A" )
( "zimpl" . "\xe9c8" )
)
)
(provide 'data-fileicons)

View File

@ -1,75 +0,0 @@
;;; all-the-icons-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
;;
;;; Code:
(add-to-list 'load-path (directory-file-name
(or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "all-the-icons" "all-the-icons.el" (0 0 0 0))
;;; Generated autoloads from all-the-icons.el
(autoload 'all-the-icons-icon-for-dir "all-the-icons" "\
Get the formatted icon for DIR.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
Note: You want chevron, please use `all-the-icons-icon-for-dir-with-chevron'.
\(fn DIR &rest ARG-OVERRIDES)" nil nil)
(autoload 'all-the-icons-icon-for-file "all-the-icons" "\
Get the formatted icon for FILE.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
\(fn FILE &rest ARG-OVERRIDES)" nil nil)
(autoload 'all-the-icons-icon-for-mode "all-the-icons" "\
Get the formatted icon for MODE.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
\(fn MODE &rest ARG-OVERRIDES)" nil nil)
(autoload 'all-the-icons-icon-for-url "all-the-icons" "\
Get the formatted icon for URL.
If an icon for URL isn't found in `all-the-icons-url-alist', a globe is used.
ARG-OVERRIDES should be a plist containining `:height',
`:v-adjust' or `:face' properties like in the normal icon
inserting functions.
\(fn URL &rest ARG-OVERRIDES)" nil nil)
(autoload 'all-the-icons-install-fonts "all-the-icons" "\
Helper function to download and install the latests fonts based on OS.
When PFX is non-nil, ignore the prompt and just install
\(fn &optional PFX)" t nil)
(autoload 'all-the-icons-insert "all-the-icons" "\
Interactive icon insertion function.
When Prefix ARG is non-nil, insert the propertized icon.
When FAMILY is non-nil, limit the candidates to the icon set matching it.
\(fn &optional ARG FAMILY)" t nil)
(register-definition-prefixes "all-the-icons" '("all-the-icons-"))
;;;***
;;;### (autoloads nil nil ("all-the-icons-faces.el" "all-the-icons-pkg.el")
;;;;;; (0 0 0 0))
;;;***
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
;;; all-the-icons-autoloads.el ends here

View File

@ -1,230 +0,0 @@
;;; all-the-icons-faces.el --- A module of faces for all-the-icons
;; Copyright (C) 2016 Dominic Charlesworth <dgc336@gmail.com>
;; Author: Dominic Charlesworth <dgc336@gmail.com>
;; Version: 1.0.0
;; Package-Requires: ((emacs "24.3"))
;; URL: https://github.com/domtronn/all-the-icons.el
;; Keywords: convenient, lisp
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License
;; as published by the Free Software Foundation; either version 3
;; of the License, or (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; This file contains all of the faces used by the package for
;; colouring icons
;;; Code:
(defgroup all-the-icons-faces nil
"Manage how All The Icons icons are coloured and themed."
:prefix "all-the-icons-"
:group 'tools
:group 'all-the-icons)
;; red
(defface all-the-icons-red
'((((background dark)) :foreground "#AC4142")
(((background light)) :foreground "#AC4142"))
"Face for red icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lred
'((((background dark)) :foreground "#EB595A")
(((background light)) :foreground "#EB595A"))
"Face for lred icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dred
'((((background dark)) :foreground "#843031")
(((background light)) :foreground "#843031"))
"Face for dred icons"
:group 'all-the-icons-faces)
(defface all-the-icons-red-alt
'((((background dark)) :foreground "#ce5643")
(((background light)) :foreground "#843031"))
"Face for dred icons"
:group 'all-the-icons-faces)
;; green
(defface all-the-icons-green
'((((background dark)) :foreground "#90A959")
(((background light)) :foreground "#90A959"))
"Face for green icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lgreen
'((((background dark)) :foreground "#C6E87A")
(((background light)) :foreground "#3D6837"))
"Face for lgreen icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dgreen
'((((background dark)) :foreground "#6D8143")
(((background light)) :foreground "#6D8143"))
"Face for dgreen icons"
:group 'all-the-icons-faces)
;; yellow
(defface all-the-icons-yellow
'((((background dark)) :foreground "#FFD446")
(((background light)) :foreground "#FFCC0E"))
"Face for yellow icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lyellow
'((((background dark)) :foreground "#FFC16D")
(((background light)) :foreground "#FF9300"))
"Face for lyellow icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dyellow
'((((background dark)) :foreground "#B48D56")
(((background light)) :foreground "#B48D56"))
"Face for dyellow icons"
:group 'all-the-icons-faces)
;; blue
(defface all-the-icons-blue
'((((background dark)) :foreground "#6A9FB5")
(((background light)) :foreground "#6A9FB5"))
"Face for blue icons"
:group 'all-the-icons-faces)
(defface all-the-icons-blue-alt
'((((background dark)) :foreground "#2188b6")
(((background light)) :foreground "#2188b6"))
"Face for blue icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lblue
'((((background dark)) :foreground "#8FD7F4")
(((background light)) :foreground "#677174"))
"Face for lblue icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dblue
'((((background dark)) :foreground "#446674")
(((background light)) :foreground "#446674"))
"Face for dblue icons"
:group 'all-the-icons-faces)
;; maroon
(defface all-the-icons-maroon
'((((background dark)) :foreground "#8F5536")
(((background light)) :foreground "#8F5536"))
"Face for maroon icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lmaroon
'((((background dark)) :foreground "#CE7A4E")
(((background light)) :foreground "#CE7A4E"))
"Face for lmaroon icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dmaroon
'((((background dark)) :foreground "#72584B")
(((background light)) :foreground "#72584B"))
"Face for dmaroon icons"
:group 'all-the-icons-faces)
;; purple
(defface all-the-icons-purple
'((((background dark)) :foreground "#AA759F")
(((background light)) :foreground "#68295B"))
"Face for purple icons"
:group 'all-the-icons-faces)
(defface all-the-icons-purple-alt
'((((background dark)) :foreground "#5D54E1")
(((background light)) :foreground "#5D54E1"))
"Face for purple icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lpurple
'((((background dark)) :foreground "#E69DD6")
(((background light)) :foreground "#E69DD6"))
"Face for lpurple icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dpurple
'((((background dark)) :foreground "#694863")
(((background light)) :foreground "#694863"))
"Face for dpurple icons"
:group 'all-the-icons-faces)
;; orange
(defface all-the-icons-orange
'((((background dark)) :foreground "#D4843E")
(((background light)) :foreground "#D4843E"))
"Face for orange icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lorange
'((((background dark)) :foreground "#FFA500")
(((background light)) :foreground "#FFA500"))
"Face for lorange icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dorange
'((((background dark)) :foreground "#915B2D")
(((background light)) :foreground "#915B2D"))
"Face for dorange icons"
:group 'all-the-icons-faces)
;; cyan
(defface all-the-icons-cyan
'((((background dark)) :foreground "#75B5AA")
(((background light)) :foreground "#75B5AA"))
"Face for cyan icons"
:group 'all-the-icons-faces)
(defface all-the-icons-cyan-alt
'((((background dark)) :foreground "#61dafb")
(((background light)) :foreground "#0595bd"))
"Face for cyan icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lcyan
'((((background dark)) :foreground "#A5FDEC")
(((background light)) :foreground "#2C7D6E"))
"Face for lcyan icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dcyan
'((((background dark)) :foreground "#48746D")
(((background light)) :foreground "#48746D"))
"Face for dcyan icons"
:group 'all-the-icons-faces)
;; pink
(defface all-the-icons-pink
'((((background dark)) :foreground "#F2B4B8")
(((background light)) :foreground "#FC505B"))
"Face for pink icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lpink
'((((background dark)) :foreground "#FFBDC1")
(((background light)) :foreground "#FF505B"))
"Face for lpink icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dpink
'((((background dark)) :foreground "#B18286")
(((background light)) :foreground "#7E5D5F"))
"Face for dpink icons"
:group 'all-the-icons-faces)
;; silver
(defface all-the-icons-silver
'((((background dark)) :foreground "#716E68")
(((background light)) :foreground "#716E68"))
"Face for silver icons"
:group 'all-the-icons-faces)
(defface all-the-icons-lsilver
'((((background dark)) :foreground "#B9B6AA")
(((background light)) :foreground "#7F7869"))
"Face for lsilver icons"
:group 'all-the-icons-faces)
(defface all-the-icons-dsilver
'((((background dark)) :foreground "#838484")
(((background light)) :foreground "#838484"))
"Face for dsilver icons"
:group 'all-the-icons-faces)
(provide 'all-the-icons-faces)
;;; all-the-icons-faces.el ends here

View File

@ -1,12 +0,0 @@
(define-package "all-the-icons" "20220823.1719" "A library for inserting Developer icons"
'((emacs "24.3"))
:commit "4a4d6269b8b85b0b15954f063e6ce378630d80c0" :authors
'(("Dominic Charlesworth" . "dgc336@gmail.com"))
:maintainer
'("Dominic Charlesworth" . "dgc336@gmail.com")
:keywords
'("convenient" "lisp")
:url "https://github.com/domtronn/all-the-icons.el")
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -1,70 +0,0 @@
(defvar all-the-icons-data/alltheicons-alist
'(
( "apache" . "\xe909" )
( "atom" . "\xe917" )
( "aws" . "\xe90c" )
( "bower" . "\xe918" )
( "c" . "\xe915" )
( "c-line" . "\xe90f" )
( "clojure" . "\xe919" )
( "clojure-line" . "\xe91a" )
( "coffeescript" . "\xe914" )
( "cplusplus" . "\xe913" )
( "cplusplus-line" . "\xe910" )
( "csharp" . "\xe911" )
( "csharp-line" . "\xe912" )
( "css3" . "\xe91b" )
( "css3-alt" . "\xe91c" )
( "d3" . "\xe90e" )
( "dlang" . "\xe935" )
( "elixir" . "\xe936" )
( "erlang" . "\xe934" )
( "git" . "\xe907" )
( "go" . "\xe91d" )
( "google-drive" . "\xe91e" )
( "grunt" . "\xe90d" )
( "grunt-line" . "\xe91f" )
( "gulp" . "\xe920" )
( "haskell" . "\xe921" )
( "html5" . "\xe932" )
( "jasmine" . "\xe904" )
( "java" . "\xe922" )
( "javascript" . "\xe906" )
( "javascript-badge" . "\xe923" )
( "javascript-shield" . "\xe924" )
( "less" . "\xe90b" )
( "nginx" . "\xe933" )
( "nodejs" . "\xe925" )
( "perl" . "\xe905" )
( "perldocs" . "\xe926" )
( "postgresql" . "\xe938" )
( "prolog" . "\xe927" )
( "python" . "\xe928" )
( "react" . "\xe929" )
( "ruby" . "\xe92a" )
( "ruby-alt" . "\xe92b" )
( "rust" . "\xe92c" )
( "sass" . "\xe92d" )
( "scala" . "\xe908" )
( "script" . "\xe90a" )
( "spring" . "\xe937" )
( "stylus" . "\xe92e" )
( "svg" . "\xe903" )
( "swift" . "\xe92f" )
( "terminal" . "\xe930" )
( "terminal-alt" . "\xe931" )
( "battery-charging" . "\xe939" )
( "arrow-left" . "\xe93a" )
( "arrow-right" . "\xe93b" )
( "cup-left" . "\xe93c" )
( "cup-right" . "\xe93d" )
( "slant-left" . "\xe93e" )
( "slant-right" . "\xe93f" )
( "wave-left" . "\xe940" )
( "wave-right" . "\xe941" )
))
(provide 'data-alltheicons)

View File

@ -1,641 +0,0 @@
(defvar all-the-icons-data/fa-icon-alist
'(
("500px" . "\xf26e")
("adjust" . "\xf042")
("adn" . "\xf170")
("align-center" . "\xf037")
("align-justify" . "\xf039")
("align-left" . "\xf036")
("align-right" . "\xf038")
("amazon" . "\xf270")
("ambulance" . "\xf0f9")
("american-sign-language-interpreting" . "\xf2a3")
("anchor" . "\xf13d")
("android" . "\xf17b")
("angellist" . "\xf209")
("angle-double-down" . "\xf103")
("angle-double-left" . "\xf100")
("angle-double-right" . "\xf101")
("angle-double-up" . "\xf102")
("angle-down" . "\xf107")
("angle-left" . "\xf104")
("angle-right" . "\xf105")
("angle-up" . "\xf106")
("apple" . "\xf179")
("archive" . "\xf187")
("area-chart" . "\xf1fe")
("arrow-circle-down" . "\xf0ab")
("arrow-circle-left" . "\xf0a8")
("arrow-circle-o-down" . "\xf01a")
("arrow-circle-o-left" . "\xf190")
("arrow-circle-o-right" . "\xf18e")
("arrow-circle-o-up" . "\xf01b")
("arrow-circle-right" . "\xf0a9")
("arrow-circle-up" . "\xf0aa")
("arrow-down" . "\xf063")
("arrow-left" . "\xf060")
("arrow-right" . "\xf061")
("arrow-up" . "\xf062")
("arrows" . "\xf047")
("arrows-alt" . "\xf0b2")
("arrows-h" . "\xf07e")
("arrows-v" . "\xf07d")
("assistive-listening-systems" . "\xf2a2")
("asterisk" . "\xf069")
("at" . "\xf1fa")
("audio-description" . "\xf29e")
("backward" . "\xf04a")
("balance-scale" . "\xf24e")
("ban" . "\xf05e")
("bar-chart" . "\xf080")
("barcode" . "\xf02a")
("bars" . "\xf0c9")
("battery-empty" . "\xf244")
("battery-full" . "\xf240")
("battery-half" . "\xf242")
("battery-quarter" . "\xf243")
("battery-three-quarters" . "\xf241")
("bed" . "\xf236")
("beer" . "\xf0fc")
("behance" . "\xf1b4")
("behance-square" . "\xf1b5")
("bell" . "\xf0f3")
("bell-o" . "\xf0a2")
("bell-slash" . "\xf1f6")
("bell-slash-o" . "\xf1f7")
("bicycle" . "\xf206")
("binoculars" . "\xf1e5")
("birthday-cake" . "\xf1fd")
("bitbucket" . "\xf171")
("bitbucket-square" . "\xf172")
("black-tie" . "\xf27e")
("blind" . "\xf29d")
("bluetooth" . "\xf293")
("bluetooth-b" . "\xf294")
("bold" . "\xf032")
("bolt" . "\xf0e7")
("bomb" . "\xf1e2")
("book" . "\xf02d")
("bookmark" . "\xf02e")
("bookmark-o" . "\xf097")
("braille" . "\xf2a1")
("briefcase" . "\xf0b1")
("btc" . "\xf15a")
("bug" . "\xf188")
("building" . "\xf1ad")
("building-o" . "\xf0f7")
("bullhorn" . "\xf0a1")
("bullseye" . "\xf140")
("bus" . "\xf207")
("buysellads" . "\xf20d")
("calculator" . "\xf1ec")
("calendar" . "\xf073")
("calendar-check-o" . "\xf274")
("calendar-minus-o" . "\xf272")
("calendar-o" . "\xf133")
("calendar-plus-o" . "\xf271")
("calendar-times-o" . "\xf273")
("camera" . "\xf030")
("camera-retro" . "\xf083")
("car" . "\xf1b9")
("caret-down" . "\xf0d7")
("caret-left" . "\xf0d9")
("caret-right" . "\xf0da")
("caret-square-o-down" . "\xf150")
("caret-square-o-left" . "\xf191")
("caret-square-o-right" . "\xf152")
("caret-square-o-up" . "\xf151")
("caret-up" . "\xf0d8")
("cart-arrow-down" . "\xf218")
("cart-plus" . "\xf217")
("cc" . "\xf20a")
("cc-amex" . "\xf1f3")
("cc-diners-club" . "\xf24c")
("cc-discover" . "\xf1f2")
("cc-jcb" . "\xf24b")
("cc-mastercard" . "\xf1f1")
("cc-paypal" . "\xf1f4")
("cc-stripe" . "\xf1f5")
("cc-visa" . "\xf1f0")
("certificate" . "\xf0a3")
("chain-broken" . "\xf127")
("check" . "\xf00c")
("check-circle" . "\xf058")
("check-circle-o" . "\xf05d")
("check-square" . "\xf14a")
("check-square-o" . "\xf046")
("chevron-circle-down" . "\xf13a")
("chevron-circle-left" . "\xf137")
("chevron-circle-right" . "\xf138")
("chevron-circle-up" . "\xf139")
("chevron-down" . "\xf078")
("chevron-left" . "\xf053")
("chevron-right" . "\xf054")
("chevron-up" . "\xf077")
("child" . "\xf1ae")
("chrome" . "\xf268")
("circle" . "\xf111")
("circle-o" . "\xf10c")
("circle-o-notch" . "\xf1ce")
("circle-thin" . "\xf1db")
("clipboard" . "\xf0ea")
("clock-o" . "\xf017")
("clone" . "\xf24d")
("cloud" . "\xf0c2")
("cloud-download" . "\xf0ed")
("cloud-upload" . "\xf0ee")
("code" . "\xf121")
("code-fork" . "\xf126")
("codepen" . "\xf1cb")
("codiepie" . "\xf284")
("coffee" . "\xf0f4")
("cog" . "\xf013")
("cogs" . "\xf085")
("columns" . "\xf0db")
("comment" . "\xf075")
("comment-o" . "\xf0e5")
("commenting" . "\xf27a")
("commenting-o" . "\xf27b")
("comments" . "\xf086")
("comments-o" . "\xf0e6")
("compass" . "\xf14e")
("compress" . "\xf066")
("connectdevelop" . "\xf20e")
("contao" . "\xf26d")
("copyright" . "\xf1f9")
("creative-commons" . "\xf25e")
("credit-card" . "\xf09d")
("credit-card-alt" . "\xf283")
("crop" . "\xf125")
("crosshairs" . "\xf05b")
("css3" . "\xf13c")
("cube" . "\xf1b2")
("cubes" . "\xf1b3")
("cutlery" . "\xf0f5")
("dashcube" . "\xf210")
("database" . "\xf1c0")
("deaf" . "\xf2a4")
("delicious" . "\xf1a5")
("desktop" . "\xf108")
("deviantart" . "\xf1bd")
("diamond" . "\xf219")
("digg" . "\xf1a6")
("dot-circle-o" . "\xf192")
("download" . "\xf019")
("dribbble" . "\xf17d")
("dropbox" . "\xf16b")
("drupal" . "\xf1a9")
("edge" . "\xf282")
("eject" . "\xf052")
("ellipsis-h" . "\xf141")
("ellipsis-v" . "\xf142")
("empire" . "\xf1d1")
("envelope" . "\xf0e0")
("envelope-o" . "\xf003")
("envelope-square" . "\xf199")
("envira" . "\xf299")
("eraser" . "\xf12d")
("eur" . "\xf153")
("exchange" . "\xf0ec")
("exclamation" . "\xf12a")
("exclamation-circle" . "\xf06a")
("exclamation-triangle" . "\xf071")
("expand" . "\xf065")
("expeditedssl" . "\xf23e")
("external-link" . "\xf08e")
("external-link-square" . "\xf14c")
("eye" . "\xf06e")
("eye-slash" . "\xf070")
("eyedropper" . "\xf1fb")
("facebook" . "\xf09a")
("facebook-official" . "\xf230")
("facebook-square" . "\xf082")
("fast-backward" . "\xf049")
("fast-forward" . "\xf050")
("fax" . "\xf1ac")
("female" . "\xf182")
("fighter-jet" . "\xf0fb")
("file" . "\xf15b")
("file-archive-o" . "\xf1c6")
("file-audio-o" . "\xf1c7")
("file-code-o" . "\xf1c9")
("file-excel-o" . "\xf1c3")
("file-image-o" . "\xf1c5")
("file-o" . "\xf016")
("file-pdf-o" . "\xf1c1")
("file-powerpoint-o" . "\xf1c4")
("file-text" . "\xf15c")
("file-text-o" . "\xf0f6")
("file-video-o" . "\xf1c8")
("file-word-o" . "\xf1c2")
("files-o" . "\xf0c5")
("film" . "\xf008")
("filter" . "\xf0b0")
("fire" . "\xf06d")
("fire-extinguisher" . "\xf134")
("firefox" . "\xf269")
("first-order" . "\xf2b0")
("flag" . "\xf024")
("flag-checkered" . "\xf11e")
("flag-o" . "\xf11d")
("flask" . "\xf0c3")
("flickr" . "\xf16e")
("floppy-o" . "\xf0c7")
("folder" . "\xf07b")
("folder-o" . "\xf114")
("folder-open" . "\xf07c")
("folder-open-o" . "\xf115")
("font" . "\xf031")
("font-awesome" . "\xf2b4")
("fonticons" . "\xf280")
("fort-awesome" . "\xf286")
("forumbee" . "\xf211")
("forward" . "\xf04e")
("foursquare" . "\xf180")
("frown-o" . "\xf119")
("futbol-o" . "\xf1e3")
("gamepad" . "\xf11b")
("gavel" . "\xf0e3")
("gbp" . "\xf154")
("genderless" . "\xf22d")
("get-pocket" . "\xf265")
("gg" . "\xf260")
("gg-circle" . "\xf261")
("gift" . "\xf06b")
("git" . "\xf1d3")
("git-square" . "\xf1d2")
("github" . "\xf09b")
("github-alt" . "\xf113")
("github-square" . "\xf092")
("gitlab" . "\xf296")
("glass" . "\xf000")
("glide" . "\xf2a5")
("glide-g" . "\xf2a6")
("globe" . "\xf0ac")
("google" . "\xf1a0")
("google-plus" . "\xf0d5")
("google-plus-official" . "\xf2b3")
("google-plus-square" . "\xf0d4")
("google-wallet" . "\xf1ee")
("graduation-cap" . "\xf19d")
("gratipay" . "\xf184")
("h-square" . "\xf0fd")
("hacker-news" . "\xf1d4")
("hand-lizard-o" . "\xf258")
("hand-o-down" . "\xf0a7")
("hand-o-left" . "\xf0a5")
("hand-o-right" . "\xf0a4")
("hand-o-up" . "\xf0a6")
("hand-paper-o" . "\xf256")
("hand-peace-o" . "\xf25b")
("hand-pointer-o" . "\xf25a")
("hand-rock-o" . "\xf255")
("hand-scissors-o" . "\xf257")
("hand-spock-o" . "\xf259")
("hashtag" . "\xf292")
("hdd-o" . "\xf0a0")
("header" . "\xf1dc")
("headphones" . "\xf025")
("heart" . "\xf004")
("heart-o" . "\xf08a")
("heartbeat" . "\xf21e")
("history" . "\xf1da")
("home" . "\xf015")
("hospital-o" . "\xf0f8")
("hourglass" . "\xf254")
("hourglass-end" . "\xf253")
("hourglass-half" . "\xf252")
("hourglass-o" . "\xf250")
("hourglass-start" . "\xf251")
("houzz" . "\xf27c")
("html5" . "\xf13b")
("i-cursor" . "\xf246")
("ils" . "\xf20b")
("inbox" . "\xf01c")
("indent" . "\xf03c")
("industry" . "\xf275")
("info" . "\xf129")
("info-circle" . "\xf05a")
("inr" . "\xf156")
("instagram" . "\xf16d")
("internet-explorer" . "\xf26b")
("ioxhost" . "\xf208")
("italic" . "\xf033")
("joomla" . "\xf1aa")
("jpy" . "\xf157")
("jsfiddle" . "\xf1cc")
("key" . "\xf084")
("keyboard-o" . "\xf11c")
("krw" . "\xf159")
("language" . "\xf1ab")
("laptop" . "\xf109")
("lastfm" . "\xf202")
("lastfm-square" . "\xf203")
("leaf" . "\xf06c")
("leanpub" . "\xf212")
("lemon-o" . "\xf094")
("level-down" . "\xf149")
("level-up" . "\xf148")
("life-ring" . "\xf1cd")
("lightbulb-o" . "\xf0eb")
("line-chart" . "\xf201")
("link" . "\xf0c1")
("linkedin" . "\xf0e1")
("linkedin-square" . "\xf08c")
("linux" . "\xf17c")
("list" . "\xf03a")
("list-alt" . "\xf022")
("list-ol" . "\xf0cb")
("list-ul" . "\xf0ca")
("location-arrow" . "\xf124")
("lock" . "\xf023")
("long-arrow-down" . "\xf175")
("long-arrow-left" . "\xf177")
("long-arrow-right" . "\xf178")
("long-arrow-up" . "\xf176")
("low-vision" . "\xf2a8")
("magic" . "\xf0d0")
("magnet" . "\xf076")
("male" . "\xf183")
("map" . "\xf279")
("map-marker" . "\xf041")
("map-o" . "\xf278")
("map-pin" . "\xf276")
("map-signs" . "\xf277")
("mars" . "\xf222")
("mars-double" . "\xf227")
("mars-stroke" . "\xf229")
("mars-stroke-h" . "\xf22b")
("mars-stroke-v" . "\xf22a")
("maxcdn" . "\xf136")
("meanpath" . "\xf20c")
("medium" . "\xf23a")
("medkit" . "\xf0fa")
("meh-o" . "\xf11a")
("mercury" . "\xf223")
("microphone" . "\xf130")
("microphone-slash" . "\xf131")
("minus" . "\xf068")
("minus-circle" . "\xf056")
("minus-square" . "\xf146")
("minus-square-o" . "\xf147")
("mixcloud" . "\xf289")
("mobile" . "\xf10b")
("modx" . "\xf285")
("money" . "\xf0d6")
("moon-o" . "\xf186")
("motorcycle" . "\xf21c")
("mouse-pointer" . "\xf245")
("music" . "\xf001")
("neuter" . "\xf22c")
("newspaper-o" . "\xf1ea")
("object-group" . "\xf247")
("object-ungroup" . "\xf248")
("odnoklassniki" . "\xf263")
("odnoklassniki-square" . "\xf264")
("opencart" . "\xf23d")
("openid" . "\xf19b")
("opera" . "\xf26a")
("optin-monster" . "\xf23c")
("outdent" . "\xf03b")
("pagelines" . "\xf18c")
("paint-brush" . "\xf1fc")
("paper-plane" . "\xf1d8")
("paper-plane-o" . "\xf1d9")
("paperclip" . "\xf0c6")
("paragraph" . "\xf1dd")
("pause" . "\xf04c")
("pause-circle" . "\xf28b")
("pause-circle-o" . "\xf28c")
("paw" . "\xf1b0")
("paypal" . "\xf1ed")
("pencil" . "\xf040")
("pencil-square" . "\xf14b")
("pencil-square-o" . "\xf044")
("percent" . "\xf295")
("phone" . "\xf095")
("phone-square" . "\xf098")
("picture-o" . "\xf03e")
("pie-chart" . "\xf200")
("pied-piper" . "\xf2ae")
("pied-piper-alt" . "\xf1a8")
("pied-piper-pp" . "\xf1a7")
("pinterest" . "\xf0d2")
("pinterest-p" . "\xf231")
("pinterest-square" . "\xf0d3")
("plane" . "\xf072")
("play" . "\xf04b")
("play-circle" . "\xf144")
("play-circle-o" . "\xf01d")
("plug" . "\xf1e6")
("plus" . "\xf067")
("plus-circle" . "\xf055")
("plus-square" . "\xf0fe")
("plus-square-o" . "\xf196")
("power-off" . "\xf011")
("print" . "\xf02f")
("product-hunt" . "\xf288")
("puzzle-piece" . "\xf12e")
("qq" . "\xf1d6")
("qrcode" . "\xf029")
("question" . "\xf128")
("question-circle" . "\xf059")
("question-circle-o" . "\xf29c")
("quote-left" . "\xf10d")
("quote-right" . "\xf10e")
("random" . "\xf074")
("rebel" . "\xf1d0")
("recycle" . "\xf1b8")
("reddit" . "\xf1a1")
("reddit-alien" . "\xf281")
("reddit-square" . "\xf1a2")
("refresh" . "\xf021")
("registered" . "\xf25d")
("renren" . "\xf18b")
("repeat" . "\xf01e")
("reply" . "\xf112")
("reply-all" . "\xf122")
("retweet" . "\xf079")
("road" . "\xf018")
("rocket" . "\xf135")
("rss" . "\xf09e")
("rss-square" . "\xf143")
("rub" . "\xf158")
("safari" . "\xf267")
("scissors" . "\xf0c4")
("scribd" . "\xf28a")
("search" . "\xf002")
("search-minus" . "\xf010")
("search-plus" . "\xf00e")
("sellsy" . "\xf213")
("server" . "\xf233")
("share" . "\xf064")
("share-alt" . "\xf1e0")
("share-alt-square" . "\xf1e1")
("share-square" . "\xf14d")
("share-square-o" . "\xf045")
("shield" . "\xf132")
("ship" . "\xf21a")
("shirtsinbulk" . "\xf214")
("shopping-bag" . "\xf290")
("shopping-basket" . "\xf291")
("shopping-cart" . "\xf07a")
("sign-in" . "\xf090")
("sign-language" . "\xf2a7")
("sign-out" . "\xf08b")
("signal" . "\xf012")
("simplybuilt" . "\xf215")
("sitemap" . "\xf0e8")
("skyatlas" . "\xf216")
("skype" . "\xf17e")
("slack" . "\xf198")
("sliders" . "\xf1de")
("slideshare" . "\xf1e7")
("smile-o" . "\xf118")
("snapchat" . "\xf2ab")
("snapchat-ghost" . "\xf2ac")
("snapchat-square" . "\xf2ad")
("sort" . "\xf0dc")
("sort-alpha-asc" . "\xf15d")
("sort-alpha-desc" . "\xf15e")
("sort-amount-asc" . "\xf160")
("sort-amount-desc" . "\xf161")
("sort-asc" . "\xf0de")
("sort-desc" . "\xf0dd")
("sort-numeric-asc" . "\xf162")
("sort-numeric-desc" . "\xf163")
("soundcloud" . "\xf1be")
("space-shuttle" . "\xf197")
("spinner" . "\xf110")
("spoon" . "\xf1b1")
("spotify" . "\xf1bc")
("square" . "\xf0c8")
("square-o" . "\xf096")
("stack-exchange" . "\xf18d")
("stack-overflow" . "\xf16c")
("star" . "\xf005")
("star-half" . "\xf089")
("star-half-o" . "\xf123")
("star-o" . "\xf006")
("steam" . "\xf1b6")
("steam-square" . "\xf1b7")
("step-backward" . "\xf048")
("step-forward" . "\xf051")
("stethoscope" . "\xf0f1")
("sticky-note" . "\xf249")
("sticky-note-o" . "\xf24a")
("stop" . "\xf04d")
("stop-circle" . "\xf28d")
("stop-circle-o" . "\xf28e")
("street-view" . "\xf21d")
("strikethrough" . "\xf0cc")
("stumbleupon" . "\xf1a4")
("stumbleupon-circle" . "\xf1a3")
("subscript" . "\xf12c")
("subway" . "\xf239")
("suitcase" . "\xf0f2")
("sun-o" . "\xf185")
("superscript" . "\xf12b")
("table" . "\xf0ce")
("tablet" . "\xf10a")
("tachometer" . "\xf0e4")
("tag" . "\xf02b")
("tags" . "\xf02c")
("tasks" . "\xf0ae")
("taxi" . "\xf1ba")
("television" . "\xf26c")
("tencent-weibo" . "\xf1d5")
("terminal" . "\xf120")
("text-height" . "\xf034")
("text-width" . "\xf035")
("th" . "\xf00a")
("th-large" . "\xf009")
("th-list" . "\xf00b")
("themeisle" . "\xf2b2")
("thumb-tack" . "\xf08d")
("thumbs-down" . "\xf165")
("thumbs-o-down" . "\xf088")
("thumbs-o-up" . "\xf087")
("thumbs-up" . "\xf164")
("ticket" . "\xf145")
("times" . "\xf00d")
("times-circle" . "\xf057")
("times-circle-o" . "\xf05c")
("tint" . "\xf043")
("toggle-off" . "\xf204")
("toggle-on" . "\xf205")
("trademark" . "\xf25c")
("train" . "\xf238")
("transgender" . "\xf224")
("transgender-alt" . "\xf225")
("trash" . "\xf1f8")
("trash-o" . "\xf014")
("tree" . "\xf1bb")
("trello" . "\xf181")
("tripadvisor" . "\xf262")
("trophy" . "\xf091")
("truck" . "\xf0d1")
("try" . "\xf195")
("tty" . "\xf1e4")
("tumblr" . "\xf173")
("tumblr-square" . "\xf174")
("twitch" . "\xf1e8")
("twitter" . "\xf099")
("twitter-square" . "\xf081")
("umbrella" . "\xf0e9")
("underline" . "\xf0cd")
("undo" . "\xf0e2")
("universal-access" . "\xf29a")
("university" . "\xf19c")
("unlock" . "\xf09c")
("unlock-alt" . "\xf13e")
("upload" . "\xf093")
("usb" . "\xf287")
("usd" . "\xf155")
("user" . "\xf007")
("user-md" . "\xf0f0")
("user-plus" . "\xf234")
("user-secret" . "\xf21b")
("user-times" . "\xf235")
("users" . "\xf0c0")
("venus" . "\xf221")
("venus-double" . "\xf226")
("venus-mars" . "\xf228")
("viacoin" . "\xf237")
("viadeo" . "\xf2a9")
("viadeo-square" . "\xf2aa")
("video-camera" . "\xf03d")
("vimeo" . "\xf27d")
("vimeo-square" . "\xf194")
("vine" . "\xf1ca")
("vk" . "\xf189")
("volume-control-phone" . "\xf2a0")
("volume-down" . "\xf027")
("volume-off" . "\xf026")
("volume-up" . "\xf028")
("weibo" . "\xf18a")
("weixin" . "\xf1d7")
("whatsapp" . "\xf232")
("wheelchair" . "\xf193")
("wheelchair-alt" . "\xf29b")
("wifi" . "\xf1eb")
("wikipedia-w" . "\xf266")
("windows" . "\xf17a")
("wordpress" . "\xf19a")
("wpbeginner" . "\xf297")
("wpforms" . "\xf298")
("wrench" . "\xf0ad")
("xing" . "\xf168")
("xing-square" . "\xf169")
("y-combinator" . "\xf23b")
("yahoo" . "\xf19e")
("yelp" . "\xf1e9")
("yoast" . "\xf2b1")
("youtube" . "\xf167")
("youtube-play" . "\xf16a")
("youtube-square" . "\xf166")
))
(provide 'data-faicons)

View File

@ -1,935 +0,0 @@
(defvar all-the-icons-data/material-icons-alist
'(("3d_rotation" . "\xe84d")
("ac_unit" . "\xeb3b")
("access_alarm" . "\xe190")
("access_alarms" . "\xe191")
("access_time" . "\xe192")
("accessibility" . "\xe84e")
("accessible" . "\xe914")
("account_balance" . "\xe84f")
("account_balance_wallet" . "\xe850")
("account_box" . "\xe851")
("account_circle" . "\xe853")
("adb" . "\xe60e")
("add" . "\xe145")
("add_a_photo" . "\xe439")
("add_alarm" . "\xe193")
("add_alert" . "\xe003")
("add_box" . "\xe146")
("add_circle" . "\xe147")
("add_circle_outline" . "\xe148")
("add_location" . "\xe567")
("add_shopping_cart" . "\xe854")
("add_to_photos" . "\xe39d")
("add_to_queue" . "\xe05c")
("adjust" . "\xe39e")
("airline_seat_flat" . "\xe630")
("airline_seat_flat_angled" . "\xe631")
("airline_seat_individual_suite" . "\xe632")
("airline_seat_legroom_extra" . "\xe633")
("airline_seat_legroom_normal" . "\xe634")
("airline_seat_legroom_reduced" . "\xe635")
("airline_seat_recline_extra" . "\xe636")
("airline_seat_recline_normal" . "\xe637")
("airplanemode_active" . "\xe195")
("airplanemode_inactive" . "\xe194")
("airplay" . "\xe055")
("airport_shuttle" . "\xeb3c")
("alarm" . "\xe855")
("alarm_add" . "\xe856")
("alarm_off" . "\xe857")
("alarm_on" . "\xe858")
("album" . "\xe019")
("all_inclusive" . "\xeb3d")
("all_out" . "\xe90b")
("android" . "\xe859")
("announcement" . "\xe85a")
("apps" . "\xe5c3")
("archive" . "\xe149")
("arrow_back" . "\xe5c4")
("arrow_downward" . "\xe5db")
("arrow_drop_down" . "\xe5c5")
("arrow_drop_down_circle" . "\xe5c6")
("arrow_drop_up" . "\xe5c7")
("arrow_forward" . "\xe5c8")
("arrow_upward" . "\xe5d8")
("art_track" . "\xe060")
("aspect_ratio" . "\xe85b")
("assessment" . "\xe85c")
("assignment" . "\xe85d")
("assignment_ind" . "\xe85e")
("assignment_late" . "\xe85f")
("assignment_return" . "\xe860")
("assignment_returned" . "\xe861")
("assignment_turned_in" . "\xe862")
("assistant" . "\xe39f")
("assistant_photo" . "\xe3a0")
("attach_file" . "\xe226")
("attach_money" . "\xe227")
("attachment" . "\xe2bc")
("audiotrack" . "\xe3a1")
("autorenew" . "\xe863")
("av_timer" . "\xe01b")
("backspace" . "\xe14a")
("backup" . "\xe864")
("battery_alert" . "\xe19c")
("battery_charging_full" . "\xe1a3")
("battery_full" . "\xe1a4")
("battery_std" . "\xe1a5")
("battery_unknown" . "\xe1a6")
("beach_access" . "\xeb3e")
("beenhere" . "\xe52d")
("block" . "\xe14b")
("bluetooth" . "\xe1a7")
("bluetooth_audio" . "\xe60f")
("bluetooth_connected" . "\xe1a8")
("bluetooth_disabled" . "\xe1a9")
("bluetooth_searching" . "\xe1aa")
("blur_circular" . "\xe3a2")
("blur_linear" . "\xe3a3")
("blur_off" . "\xe3a4")
("blur_on" . "\xe3a5")
("book" . "\xe865")
("bookmark" . "\xe866")
("bookmark_border" . "\xe867")
("border_all" . "\xe228")
("border_bottom" . "\xe229")
("border_clear" . "\xe22a")
("border_color" . "\xe22b")
("border_horizontal" . "\xe22c")
("border_inner" . "\xe22d")
("border_left" . "\xe22e")
("border_outer" . "\xe22f")
("border_right" . "\xe230")
("border_style" . "\xe231")
("border_top" . "\xe232")
("border_vertical" . "\xe233")
("branding_watermark" . "\xe06b")
("brightness_1" . "\xe3a6")
("brightness_2" . "\xe3a7")
("brightness_3" . "\xe3a8")
("brightness_4" . "\xe3a9")
("brightness_5" . "\xe3aa")
("brightness_6" . "\xe3ab")
("brightness_7" . "\xe3ac")
("brightness_auto" . "\xe1ab")
("brightness_high" . "\xe1ac")
("brightness_low" . "\xe1ad")
("brightness_medium" . "\xe1ae")
("broken_image" . "\xe3ad")
("brush" . "\xe3ae")
("bubble_chart" . "\xe6dd")
("bug_report" . "\xe868")
("build" . "\xe869")
("burst_mode" . "\xe43c")
("business" . "\xe0af")
("business_center" . "\xeb3f")
("cached" . "\xe86a")
("cake" . "\xe7e9")
("call" . "\xe0b0")
("call_end" . "\xe0b1")
("call_made" . "\xe0b2")
("call_merge" . "\xe0b3")
("call_missed" . "\xe0b4")
("call_missed_outgoing" . "\xe0e4")
("call_received" . "\xe0b5")
("call_split" . "\xe0b6")
("call_to_action" . "\xe06c")
("camera" . "\xe3af")
("camera_alt" . "\xe3b0")
("camera_enhance" . "\xe8fc")
("camera_front" . "\xe3b1")
("camera_rear" . "\xe3b2")
("camera_roll" . "\xe3b3")
("cancel" . "\xe5c9")
("card_giftcard" . "\xe8f6")
("card_membership" . "\xe8f7")
("card_travel" . "\xe8f8")
("casino" . "\xeb40")
("cast" . "\xe307")
("cast_connected" . "\xe308")
("center_focus_strong" . "\xe3b4")
("center_focus_weak" . "\xe3b5")
("change_history" . "\xe86b")
("chat" . "\xe0b7")
("chat_bubble" . "\xe0ca")
("chat_bubble_outline" . "\xe0cb")
("check" . "\xe5ca")
("check_box" . "\xe834")
("check_box_outline_blank" . "\xe835")
("check_circle" . "\xe86c")
("chevron_left" . "\xe5cb")
("chevron_right" . "\xe5cc")
("child_care" . "\xeb41")
("child_friendly" . "\xeb42")
("chrome_reader_mode" . "\xe86d")
("class" . "\xe86e")
("clear" . "\xe14c")
("clear_all" . "\xe0b8")
("close" . "\xe5cd")
("closed_caption" . "\xe01c")
("cloud" . "\xe2bd")
("cloud_circle" . "\xe2be")
("cloud_done" . "\xe2bf")
("cloud_download" . "\xe2c0")
("cloud_off" . "\xe2c1")
("cloud_queue" . "\xe2c2")
("cloud_upload" . "\xe2c3")
("code" . "\xe86f")
("collections" . "\xe3b6")
("collections_bookmark" . "\xe431")
("color_lens" . "\xe3b7")
("colorize" . "\xe3b8")
("comment" . "\xe0b9")
("compare" . "\xe3b9")
("compare_arrows" . "\xe915")
("computer" . "\xe30a")
("confirmation_number" . "\xe638")
("contact_mail" . "\xe0d0")
("contact_phone" . "\xe0cf")
("contacts" . "\xe0ba")
("content_copy" . "\xe14d")
("content_cut" . "\xe14e")
("content_paste" . "\xe14f")
("control_point" . "\xe3ba")
("control_point_duplicate" . "\xe3bb")
("copyright" . "\xe90c")
("create" . "\xe150")
("create_new_folder" . "\xe2cc")
("credit_card" . "\xe870")
("crop" . "\xe3be")
("crop_16_9" . "\xe3bc")
("crop_3_2" . "\xe3bd")
("crop_5_4" . "\xe3bf")
("crop_7_5" . "\xe3c0")
("crop_din" . "\xe3c1")
("crop_free" . "\xe3c2")
("crop_landscape" . "\xe3c3")
("crop_original" . "\xe3c4")
("crop_portrait" . "\xe3c5")
("crop_rotate" . "\xe437")
("crop_square" . "\xe3c6")
("dashboard" . "\xe871")
("data_usage" . "\xe1af")
("date_range" . "\xe916")
("dehaze" . "\xe3c7")
("delete" . "\xe872")
("delete_forever" . "\xe92b")
("delete_sweep" . "\xe16c")
("description" . "\xe873")
("desktop_mac" . "\xe30b")
("desktop_windows" . "\xe30c")
("details" . "\xe3c8")
("developer_board" . "\xe30d")
("developer_mode" . "\xe1b0")
("device_hub" . "\xe335")
("devices" . "\xe1b1")
("devices_other" . "\xe337")
("dialer_sip" . "\xe0bb")
("dialpad" . "\xe0bc")
("directions" . "\xe52e")
("directions_bike" . "\xe52f")
("directions_boat" . "\xe532")
("directions_bus" . "\xe530")
("directions_car" . "\xe531")
("directions_railway" . "\xe534")
("directions_run" . "\xe566")
("directions_subway" . "\xe533")
("directions_transit" . "\xe535")
("directions_walk" . "\xe536")
("disc_full" . "\xe610")
("dns" . "\xe875")
("do_not_disturb" . "\xe612")
("do_not_disturb_alt" . "\xe611")
("do_not_disturb_off" . "\xe643")
("do_not_disturb_on" . "\xe644")
("dock" . "\xe30e")
("domain" . "\xe7ee")
("done" . "\xe876")
("done_all" . "\xe877")
("donut_large" . "\xe917")
("donut_small" . "\xe918")
("drafts" . "\xe151")
("drag_handle" . "\xe25d")
("drive_eta" . "\xe613")
("dvr" . "\xe1b2")
("edit" . "\xe3c9")
("edit_location" . "\xe568")
("eject" . "\xe8fb")
("email" . "\xe0be")
("enhanced_encryption" . "\xe63f")
("equalizer" . "\xe01d")
("error" . "\xe000")
("error_outline" . "\xe001")
("euro_symbol" . "\xe926")
("ev_station" . "\xe56d")
("event" . "\xe878")
("event_available" . "\xe614")
("event_busy" . "\xe615")
("event_note" . "\xe616")
("event_seat" . "\xe903")
("exit_to_app" . "\xe879")
("expand_less" . "\xe5ce")
("expand_more" . "\xe5cf")
("explicit" . "\xe01e")
("explore" . "\xe87a")
("exposure" . "\xe3ca")
("exposure_neg_1" . "\xe3cb")
("exposure_neg_2" . "\xe3cc")
("exposure_plus_1" . "\xe3cd")
("exposure_plus_2" . "\xe3ce")
("exposure_zero" . "\xe3cf")
("extension" . "\xe87b")
("face" . "\xe87c")
("fast_forward" . "\xe01f")
("fast_rewind" . "\xe020")
("favorite" . "\xe87d")
("favorite_border" . "\xe87e")
("featured_play_list" . "\xe06d")
("featured_video" . "\xe06e")
("feedback" . "\xe87f")
("fiber_dvr" . "\xe05d")
("fiber_manual_record" . "\xe061")
("fiber_new" . "\xe05e")
("fiber_pin" . "\xe06a")
("fiber_smart_record" . "\xe062")
("file_download" . "\xe2c4")
("file_upload" . "\xe2c6")
("filter" . "\xe3d3")
("filter_1" . "\xe3d0")
("filter_2" . "\xe3d1")
("filter_3" . "\xe3d2")
("filter_4" . "\xe3d4")
("filter_5" . "\xe3d5")
("filter_6" . "\xe3d6")
("filter_7" . "\xe3d7")
("filter_8" . "\xe3d8")
("filter_9" . "\xe3d9")
("filter_9_plus" . "\xe3da")
("filter_b_and_w" . "\xe3db")
("filter_center_focus" . "\xe3dc")
("filter_drama" . "\xe3dd")
("filter_frames" . "\xe3de")
("filter_hdr" . "\xe3df")
("filter_list" . "\xe152")
("filter_none" . "\xe3e0")
("filter_tilt_shift" . "\xe3e2")
("filter_vintage" . "\xe3e3")
("find_in_page" . "\xe880")
("find_replace" . "\xe881")
("fingerprint" . "\xe90d")
("first_page" . "\xe5dc")
("fitness_center" . "\xeb43")
("flag" . "\xe153")
("flare" . "\xe3e4")
("flash_auto" . "\xe3e5")
("flash_off" . "\xe3e6")
("flash_on" . "\xe3e7")
("flight" . "\xe539")
("flight_land" . "\xe904")
("flight_takeoff" . "\xe905")
("flip" . "\xe3e8")
("flip_to_back" . "\xe882")
("flip_to_front" . "\xe883")
("folder" . "\xe2c7")
("folder_open" . "\xe2c8")
("folder_shared" . "\xe2c9")
("folder_special" . "\xe617")
("font_download" . "\xe167")
("format_align_center" . "\xe234")
("format_align_justify" . "\xe235")
("format_align_left" . "\xe236")
("format_align_right" . "\xe237")
("format_bold" . "\xe238")
("format_clear" . "\xe239")
("format_color_fill" . "\xe23a")
("format_color_reset" . "\xe23b")
("format_color_text" . "\xe23c")
("format_indent_decrease" . "\xe23d")
("format_indent_increase" . "\xe23e")
("format_italic" . "\xe23f")
("format_line_spacing" . "\xe240")
("format_list_bulleted" . "\xe241")
("format_list_numbered" . "\xe242")
("format_paint" . "\xe243")
("format_quote" . "\xe244")
("format_shapes" . "\xe25e")
("format_size" . "\xe245")
("format_strikethrough" . "\xe246")
("format_textdirection_l_to_r" . "\xe247")
("format_textdirection_r_to_l" . "\xe248")
("format_underlined" . "\xe249")
("forum" . "\xe0bf")
("forward" . "\xe154")
("forward_10" . "\xe056")
("forward_30" . "\xe057")
("forward_5" . "\xe058")
("free_breakfast" . "\xeb44")
("fullscreen" . "\xe5d0")
("fullscreen_exit" . "\xe5d1")
("functions" . "\xe24a")
("g_translate" . "\xe927")
("gamepad" . "\xe30f")
("games" . "\xe021")
("gavel" . "\xe90e")
("gesture" . "\xe155")
("get_app" . "\xe884")
("gif" . "\xe908")
("golf_course" . "\xeb45")
("gps_fixed" . "\xe1b3")
("gps_not_fixed" . "\xe1b4")
("gps_off" . "\xe1b5")
("grade" . "\xe885")
("gradient" . "\xe3e9")
("grain" . "\xe3ea")
("graphic_eq" . "\xe1b8")
("grid_off" . "\xe3eb")
("grid_on" . "\xe3ec")
("group" . "\xe7ef")
("group_add" . "\xe7f0")
("group_work" . "\xe886")
("hd" . "\xe052")
("hdr_off" . "\xe3ed")
("hdr_on" . "\xe3ee")
("hdr_strong" . "\xe3f1")
("hdr_weak" . "\xe3f2")
("headset" . "\xe310")
("headset_mic" . "\xe311")
("healing" . "\xe3f3")
("hearing" . "\xe023")
("help" . "\xe887")
("help_outline" . "\xe8fd")
("high_quality" . "\xe024")
("highlight" . "\xe25f")
("highlight_off" . "\xe888")
("history" . "\xe889")
("home" . "\xe88a")
("hot_tub" . "\xeb46")
("hotel" . "\xe53a")
("hourglass_empty" . "\xe88b")
("hourglass_full" . "\xe88c")
("http" . "\xe902")
("https" . "\xe88d")
("image" . "\xe3f4")
("image_aspect_ratio" . "\xe3f5")
("import_contacts" . "\xe0e0")
("import_export" . "\xe0c3")
("important_devices" . "\xe912")
("inbox" . "\xe156")
("indeterminate_check_box" . "\xe909")
("info" . "\xe88e")
("info_outline" . "\xe88f")
("input" . "\xe890")
("insert_chart" . "\xe24b")
("insert_comment" . "\xe24c")
("insert_drive_file" . "\xe24d")
("insert_emoticon" . "\xe24e")
("insert_invitation" . "\xe24f")
("insert_link" . "\xe250")
("insert_photo" . "\xe251")
("invert_colors" . "\xe891")
("invert_colors_off" . "\xe0c4")
("iso" . "\xe3f6")
("keyboard" . "\xe312")
("keyboard_arrow_down" . "\xe313")
("keyboard_arrow_left" . "\xe314")
("keyboard_arrow_right" . "\xe315")
("keyboard_arrow_up" . "\xe316")
("keyboard_backspace" . "\xe317")
("keyboard_capslock" . "\xe318")
("keyboard_hide" . "\xe31a")
("keyboard_return" . "\xe31b")
("keyboard_tab" . "\xe31c")
("keyboard_voice" . "\xe31d")
("kitchen" . "\xeb47")
("label" . "\xe892")
("label_outline" . "\xe893")
("landscape" . "\xe3f7")
("language" . "\xe894")
("laptop" . "\xe31e")
("laptop_chromebook" . "\xe31f")
("laptop_mac" . "\xe320")
("laptop_windows" . "\xe321")
("last_page" . "\xe5dd")
("launch" . "\xe895")
("layers" . "\xe53b")
("layers_clear" . "\xe53c")
("leak_add" . "\xe3f8")
("leak_remove" . "\xe3f9")
("lens" . "\xe3fa")
("library_add" . "\xe02e")
("library_books" . "\xe02f")
("library_music" . "\xe030")
("lightbulb_outline" . "\xe90f")
("line_style" . "\xe919")
("line_weight" . "\xe91a")
("linear_scale" . "\xe260")
("link" . "\xe157")
("linked_camera" . "\xe438")
("list" . "\xe896")
("live_help" . "\xe0c6")
("live_tv" . "\xe639")
("local_activity" . "\xe53f")
("local_airport" . "\xe53d")
("local_atm" . "\xe53e")
("local_bar" . "\xe540")
("local_cafe" . "\xe541")
("local_car_wash" . "\xe542")
("local_convenience_store" . "\xe543")
("local_dining" . "\xe556")
("local_drink" . "\xe544")
("local_florist" . "\xe545")
("local_gas_station" . "\xe546")
("local_grocery_store" . "\xe547")
("local_hospital" . "\xe548")
("local_hotel" . "\xe549")
("local_laundry_service" . "\xe54a")
("local_library" . "\xe54b")
("local_mall" . "\xe54c")
("local_movies" . "\xe54d")
("local_offer" . "\xe54e")
("local_parking" . "\xe54f")
("local_pharmacy" . "\xe550")
("local_phone" . "\xe551")
("local_pizza" . "\xe552")
("local_play" . "\xe553")
("local_post_office" . "\xe554")
("local_printshop" . "\xe555")
("local_see" . "\xe557")
("local_shipping" . "\xe558")
("local_taxi" . "\xe559")
("location_city" . "\xe7f1")
("location_disabled" . "\xe1b6")
("location_off" . "\xe0c7")
("location_on" . "\xe0c8")
("location_searching" . "\xe1b7")
("lock" . "\xe897")
("lock_open" . "\xe898")
("lock_outline" . "\xe899")
("looks" . "\xe3fc")
("looks_3" . "\xe3fb")
("looks_4" . "\xe3fd")
("looks_5" . "\xe3fe")
("looks_6" . "\xe3ff")
("looks_one" . "\xe400")
("looks_two" . "\xe401")
("loop" . "\xe028")
("loupe" . "\xe402")
("low_priority" . "\xe16d")
("loyalty" . "\xe89a")
("mail" . "\xe158")
("mail_outline" . "\xe0e1")
("map" . "\xe55b")
("markunread" . "\xe159")
("markunread_mailbox" . "\xe89b")
("memory" . "\xe322")
("menu" . "\xe5d2")
("merge_type" . "\xe252")
("message" . "\xe0c9")
("mic" . "\xe029")
("mic_none" . "\xe02a")
("mic_off" . "\xe02b")
("mms" . "\xe618")
("mode_comment" . "\xe253")
("mode_edit" . "\xe254")
("monetization_on" . "\xe263")
("money_off" . "\xe25c")
("monochrome_photos" . "\xe403")
("mood" . "\xe7f2")
("mood_bad" . "\xe7f3")
("more" . "\xe619")
("more_horiz" . "\xe5d3")
("more_vert" . "\xe5d4")
("motorcycle" . "\xe91b")
("mouse" . "\xe323")
("move_to_inbox" . "\xe168")
("movie" . "\xe02c")
("movie_creation" . "\xe404")
("movie_filter" . "\xe43a")
("multiline_chart" . "\xe6df")
("music_note" . "\xe405")
("music_video" . "\xe063")
("my_location" . "\xe55c")
("nature" . "\xe406")
("nature_people" . "\xe407")
("navigate_before" . "\xe408")
("navigate_next" . "\xe409")
("navigation" . "\xe55d")
("near_me" . "\xe569")
("network_cell" . "\xe1b9")
("network_check" . "\xe640")
("network_locked" . "\xe61a")
("network_wifi" . "\xe1ba")
("new_releases" . "\xe031")
("next_week" . "\xe16a")
("nfc" . "\xe1bb")
("no_encryption" . "\xe641")
("no_sim" . "\xe0cc")
("not_interested" . "\xe033")
("note" . "\xe06f")
("note_add" . "\xe89c")
("notifications" . "\xe7f4")
("notifications_active" . "\xe7f7")
("notifications_none" . "\xe7f5")
("notifications_off" . "\xe7f6")
("notifications_paused" . "\xe7f8")
("offline_pin" . "\xe90a")
("ondemand_video" . "\xe63a")
("opacity" . "\xe91c")
("open_in_browser" . "\xe89d")
("open_in_new" . "\xe89e")
("open_with" . "\xe89f")
("pages" . "\xe7f9")
("pageview" . "\xe8a0")
("palette" . "\xe40a")
("pan_tool" . "\xe925")
("panorama" . "\xe40b")
("panorama_fish_eye" . "\xe40c")
("panorama_horizontal" . "\xe40d")
("panorama_vertical" . "\xe40e")
("panorama_wide_angle" . "\xe40f")
("party_mode" . "\xe7fa")
("pause" . "\xe034")
("pause_circle_filled" . "\xe035")
("pause_circle_outline" . "\xe036")
("payment" . "\xe8a1")
("people" . "\xe7fb")
("people_outline" . "\xe7fc")
("perm_camera_mic" . "\xe8a2")
("perm_contact_calendar" . "\xe8a3")
("perm_data_setting" . "\xe8a4")
("perm_device_information" . "\xe8a5")
("perm_identity" . "\xe8a6")
("perm_media" . "\xe8a7")
("perm_phone_msg" . "\xe8a8")
("perm_scan_wifi" . "\xe8a9")
("person" . "\xe7fd")
("person_add" . "\xe7fe")
("person_outline" . "\xe7ff")
("person_pin" . "\xe55a")
("person_pin_circle" . "\xe56a")
("personal_video" . "\xe63b")
("pets" . "\xe91d")
("phone" . "\xe0cd")
("phone_android" . "\xe324")
("phone_bluetooth_speaker" . "\xe61b")
("phone_forwarded" . "\xe61c")
("phone_in_talk" . "\xe61d")
("phone_iphone" . "\xe325")
("phone_locked" . "\xe61e")
("phone_missed" . "\xe61f")
("phone_paused" . "\xe620")
("phonelink" . "\xe326")
("phonelink_erase" . "\xe0db")
("phonelink_lock" . "\xe0dc")
("phonelink_off" . "\xe327")
("phonelink_ring" . "\xe0dd")
("phonelink_setup" . "\xe0de")
("photo" . "\xe410")
("photo_album" . "\xe411")
("photo_camera" . "\xe412")
("photo_filter" . "\xe43b")
("photo_library" . "\xe413")
("photo_size_select_actual" . "\xe432")
("photo_size_select_large" . "\xe433")
("photo_size_select_small" . "\xe434")
("picture_as_pdf" . "\xe415")
("picture_in_picture" . "\xe8aa")
("picture_in_picture_alt" . "\xe911")
("pie_chart" . "\xe6c4")
("pie_chart_outlined" . "\xe6c5")
("pin_drop" . "\xe55e")
("place" . "\xe55f")
("play_arrow" . "\xe037")
("play_circle_filled" . "\xe038")
("play_circle_outline" . "\xe039")
("play_for_work" . "\xe906")
("playlist_add" . "\xe03b")
("playlist_add_check" . "\xe065")
("playlist_play" . "\xe05f")
("plus_one" . "\xe800")
("poll" . "\xe801")
("polymer" . "\xe8ab")
("pool" . "\xeb48")
("portable_wifi_off" . "\xe0ce")
("portrait" . "\xe416")
("power" . "\xe63c")
("power_input" . "\xe336")
("power_settings_new" . "\xe8ac")
("pregnant_woman" . "\xe91e")
("present_to_all" . "\xe0df")
("print" . "\xe8ad")
("priority_high" . "\xe645")
("public" . "\xe80b")
("publish" . "\xe255")
("query_builder" . "\xe8ae")
("question_answer" . "\xe8af")
("queue" . "\xe03c")
("queue_music" . "\xe03d")
("queue_play_next" . "\xe066")
("radio" . "\xe03e")
("radio_button_checked" . "\xe837")
("radio_button_unchecked" . "\xe836")
("rate_review" . "\xe560")
("receipt" . "\xe8b0")
("recent_actors" . "\xe03f")
("record_voice_over" . "\xe91f")
("redeem" . "\xe8b1")
("redo" . "\xe15a")
("refresh" . "\xe5d5")
("remove" . "\xe15b")
("remove_circle" . "\xe15c")
("remove_circle_outline" . "\xe15d")
("remove_from_queue" . "\xe067")
("remove_red_eye" . "\xe417")
("remove_shopping_cart" . "\xe928")
("reorder" . "\xe8fe")
("repeat" . "\xe040")
("repeat_one" . "\xe041")
("replay" . "\xe042")
("replay_10" . "\xe059")
("replay_30" . "\xe05a")
("replay_5" . "\xe05b")
("reply" . "\xe15e")
("reply_all" . "\xe15f")
("report" . "\xe160")
("report_problem" . "\xe8b2")
("restaurant" . "\xe56c")
("restaurant_menu" . "\xe561")
("restore" . "\xe8b3")
("restore_page" . "\xe929")
("ring_volume" . "\xe0d1")
("room" . "\xe8b4")
("room_service" . "\xeb49")
("rotate_90_degrees_ccw" . "\xe418")
("rotate_left" . "\xe419")
("rotate_right" . "\xe41a")
("rounded_corner" . "\xe920")
("router" . "\xe328")
("rowing" . "\xe921")
("rss_feed" . "\xe0e5")
("rv_hookup" . "\xe642")
("satellite" . "\xe562")
("save" . "\xe161")
("scanner" . "\xe329")
("schedule" . "\xe8b5")
("school" . "\xe80c")
("screen_lock_landscape" . "\xe1be")
("screen_lock_portrait" . "\xe1bf")
("screen_lock_rotation" . "\xe1c0")
("screen_rotation" . "\xe1c1")
("screen_share" . "\xe0e2")
("sd_card" . "\xe623")
("sd_storage" . "\xe1c2")
("search" . "\xe8b6")
("security" . "\xe32a")
("select_all" . "\xe162")
("send" . "\xe163")
("sentiment_dissatisfied" . "\xe811")
("sentiment_neutral" . "\xe812")
("sentiment_satisfied" . "\xe813")
("sentiment_very_dissatisfied" . "\xe814")
("sentiment_very_satisfied" . "\xe815")
("settings" . "\xe8b8")
("settings_applications" . "\xe8b9")
("settings_backup_restore" . "\xe8ba")
("settings_bluetooth" . "\xe8bb")
("settings_brightness" . "\xe8bd")
("settings_cell" . "\xe8bc")
("settings_ethernet" . "\xe8be")
("settings_input_antenna" . "\xe8bf")
("settings_input_component" . "\xe8c0")
("settings_input_composite" . "\xe8c1")
("settings_input_hdmi" . "\xe8c2")
("settings_input_svideo" . "\xe8c3")
("settings_overscan" . "\xe8c4")
("settings_phone" . "\xe8c5")
("settings_power" . "\xe8c6")
("settings_remote" . "\xe8c7")
("settings_system_daydream" . "\xe1c3")
("settings_voice" . "\xe8c8")
("share" . "\xe80d")
("shop" . "\xe8c9")
("shop_two" . "\xe8ca")
("shopping_basket" . "\xe8cb")
("shopping_cart" . "\xe8cc")
("short_text" . "\xe261")
("show_chart" . "\xe6e1")
("shuffle" . "\xe043")
("signal_cellular_4_bar" . "\xe1c8")
("signal_cellular_connected_no_internet_4_bar" . "\xe1cd")
("signal_cellular_no_sim" . "\xe1ce")
("signal_cellular_null" . "\xe1cf")
("signal_cellular_off" . "\xe1d0")
("signal_wifi_4_bar" . "\xe1d8")
("signal_wifi_4_bar_lock" . "\xe1d9")
("signal_wifi_off" . "\xe1da")
("sim_card" . "\xe32b")
("sim_card_alert" . "\xe624")
("skip_next" . "\xe044")
("skip_previous" . "\xe045")
("slideshow" . "\xe41b")
("slow_motion_video" . "\xe068")
("smartphone" . "\xe32c")
("smoke_free" . "\xeb4a")
("smoking_rooms" . "\xeb4b")
("sms" . "\xe625")
("sms_failed" . "\xe626")
("snooze" . "\xe046")
("sort" . "\xe164")
("sort_by_alpha" . "\xe053")
("spa" . "\xeb4c")
("space_bar" . "\xe256")
("speaker" . "\xe32d")
("speaker_group" . "\xe32e")
("speaker_notes" . "\xe8cd")
("speaker_notes_off" . "\xe92a")
("speaker_phone" . "\xe0d2")
("spellcheck" . "\xe8ce")
("star" . "\xe838")
("star_border" . "\xe83a")
("star_half" . "\xe839")
("stars" . "\xe8d0")
("stay_current_landscape" . "\xe0d3")
("stay_current_portrait" . "\xe0d4")
("stay_primary_landscape" . "\xe0d5")
("stay_primary_portrait" . "\xe0d6")
("stop" . "\xe047")
("stop_screen_share" . "\xe0e3")
("storage" . "\xe1db")
("store" . "\xe8d1")
("store_mall_directory" . "\xe563")
("straighten" . "\xe41c")
("streetview" . "\xe56e")
("strikethrough_s" . "\xe257")
("style" . "\xe41d")
("subdirectory_arrow_left" . "\xe5d9")
("subdirectory_arrow_right" . "\xe5da")
("subject" . "\xe8d2")
("subscriptions" . "\xe064")
("subtitles" . "\xe048")
("subway" . "\xe56f")
("supervisor_account" . "\xe8d3")
("surround_sound" . "\xe049")
("swap_calls" . "\xe0d7")
("swap_horiz" . "\xe8d4")
("swap_vert" . "\xe8d5")
("swap_vertical_circle" . "\xe8d6")
("switch_camera" . "\xe41e")
("switch_video" . "\xe41f")
("sync" . "\xe627")
("sync_disabled" . "\xe628")
("sync_problem" . "\xe629")
("system_update" . "\xe62a")
("system_update_alt" . "\xe8d7")
("tab" . "\xe8d8")
("tab_unselected" . "\xe8d9")
("tablet" . "\xe32f")
("tablet_android" . "\xe330")
("tablet_mac" . "\xe331")
("tag_faces" . "\xe420")
("tap_and_play" . "\xe62b")
("terrain" . "\xe564")
("text_fields" . "\xe262")
("text_format" . "\xe165")
("textsms" . "\xe0d8")
("texture" . "\xe421")
("theaters" . "\xe8da")
("thumb_down" . "\xe8db")
("thumb_up" . "\xe8dc")
("thumbs_up_down" . "\xe8dd")
("time_to_leave" . "\xe62c")
("timelapse" . "\xe422")
("timeline" . "\xe922")
("timer" . "\xe425")
("timer_10" . "\xe423")
("timer_3" . "\xe424")
("timer_off" . "\xe426")
("title" . "\xe264")
("toc" . "\xe8de")
("today" . "\xe8df")
("toll" . "\xe8e0")
("tonality" . "\xe427")
("touch_app" . "\xe913")
("toys" . "\xe332")
("track_changes" . "\xe8e1")
("traffic" . "\xe565")
("train" . "\xe570")
("tram" . "\xe571")
("transfer_within_a_station" . "\xe572")
("transform" . "\xe428")
("translate" . "\xe8e2")
("trending_down" . "\xe8e3")
("trending_flat" . "\xe8e4")
("trending_up" . "\xe8e5")
("tune" . "\xe429")
("turned_in" . "\xe8e6")
("turned_in_not" . "\xe8e7")
("tv" . "\xe333")
("unarchive" . "\xe169")
("undo" . "\xe166")
("unfold_less" . "\xe5d6")
("unfold_more" . "\xe5d7")
("update" . "\xe923")
("usb" . "\xe1e0")
("verified_user" . "\xe8e8")
("vertical_align_bottom" . "\xe258")
("vertical_align_center" . "\xe259")
("vertical_align_top" . "\xe25a")
("vibration" . "\xe62d")
("video_call" . "\xe070")
("video_label" . "\xe071")
("video_library" . "\xe04a")
("videocam" . "\xe04b")
("videocam_off" . "\xe04c")
("videogame_asset" . "\xe338")
("view_agenda" . "\xe8e9")
("view_array" . "\xe8ea")
("view_carousel" . "\xe8eb")
("view_column" . "\xe8ec")
("view_comfy" . "\xe42a")
("view_compact" . "\xe42b")
("view_day" . "\xe8ed")
("view_headline" . "\xe8ee")
("view_list" . "\xe8ef")
("view_module" . "\xe8f0")
("view_quilt" . "\xe8f1")
("view_stream" . "\xe8f2")
("view_week" . "\xe8f3")
("vignette" . "\xe435")
("visibility" . "\xe8f4")
("visibility_off" . "\xe8f5")
("voice_chat" . "\xe62e")
("voicemail" . "\xe0d9")
("volume_down" . "\xe04d")
("volume_mute" . "\xe04e")
("volume_off" . "\xe04f")
("volume_up" . "\xe050")
("vpn_key" . "\xe0da")
("vpn_lock" . "\xe62f")
("wallpaper" . "\xe1bc")
("warning" . "\xe002")
("watch" . "\xe334")
("watch_later" . "\xe924")
("wb_auto" . "\xe42c")
("wb_cloudy" . "\xe42d")
("wb_incandescent" . "\xe42e")
("wb_iridescent" . "\xe436")
("wb_sunny" . "\xe430")
("wc" . "\xe63d")
("web" . "\xe051")
("web_asset" . "\xe069")
("weekend" . "\xe16b")
("whatshot" . "\xe80e")
("widgets" . "\xe1bd")
("wifi" . "\xe63e")
("wifi_lock" . "\xe1e1")
("wifi_tethering" . "\xe1e2")
("work" . "\xe8f9")
("wrap_text" . "\xe25b")
("youtube_searched_for" . "\xe8fa")
("zoom_in" . "\xe8ff")
("zoom_out" . "\xe900")
("zoom_out_map" . "\xe56b")))
(provide 'data-material)

View File

@ -1,165 +0,0 @@
(defvar all-the-icons-data/octicons-alist
'(
("alert" . "\xf02d")
("arrow-down" . "\xf03f")
("arrow-left" . "\xf040")
("arrow-right" . "\xf03e")
("arrow-small-down" . "\xf0a0")
("arrow-small-left" . "\xf0a1")
("arrow-small-right" . "\xf071")
("arrow-small-up" . "\xf09f")
("arrow-up" . "\xf03d")
("book" . "\xf007")
("bookmark" . "\xf07b")
("briefcase" . "\xf0d3")
("broadcast" . "\xf048")
("browser" . "\xf0c5")
("bug" . "\xf091")
("calendar" . "\xf068")
("check" . "\xf03a")
("checklist" . "\xf076")
("chevron-down" . "\xf0a3")
("chevron-left" . "\xf0a4")
("chevron-right" . "\xf078")
("chevron-up" . "\xf0a2")
("circle-slash" . "\xf084")
("circuit-board" . "\xf0d6")
("clippy" . "\xf035")
("clock" . "\xf046")
("cloud-download" . "\xf00b")
("cloud-upload" . "\xf00c")
("code" . "\xf05f")
("comment" . "\xf02b")
("comment-discussion" . "\xf04f")
("credit-card" . "\xf045")
("dash" . "\xf0ca")
("dashboard" . "\xf07d")
("database" . "\xf096")
("device-camera" . "\xf056")
("device-camera-video" . "\xf057")
("device-desktop" . "\xf27c")
("device-mobile" . "\xf038")
("diff" . "\xf04d")
("diff-added" . "\xf06b")
("diff-ignored" . "\xf099")
("diff-modified" . "\xf06d")
("diff-removed" . "\xf06c")
("diff-renamed" . "\xf06e")
("ellipsis" . "\xf09a")
("eye" . "\xf04e")
("file-binary" . "\xf094")
("file-code" . "\xf010")
("file-directory" . "\xf016")
("file-media" . "\xf012")
("file-pdf" . "\xf014")
("file-submodule" . "\xf017")
("file-symlink-directory" . "\xf0b1")
("file-symlink-file" . "\xf0b0")
("file-text" . "\xf011")
("file-zip" . "\xf013")
("flame" . "\xf0d2")
("fold" . "\xf0cc")
("gear" . "\xf02f")
("gift" . "\xf042")
("gist" . "\xf00e")
("gist-secret" . "\xf08c")
("git-branch" . "\xf020")
("git-commit" . "\xf01f")
("git-compare" . "\xf0ac")
("git-merge" . "\xf023")
("git-pull-request" . "\xf009")
("globe" . "\xf0b6")
("graph" . "\xf043")
("beaker" . "\xf0dd")
("heart" . "\x2665")
("history" . "\xf07e")
("home" . "\xf08d")
("horizontal-rule" . "\xf070")
("hourglass" . "\xf09e")
("hubot" . "\xf09d")
("inbox" . "\xf0cf")
("info" . "\xf059")
("issue-closed" . "\xf028")
("issue-opened" . "\xf026")
("issue-reopened" . "\xf027")
("jersey" . "\xf019")
("key" . "\xf049")
("keyboard" . "\xf00d")
("law" . "\xf0d8")
("light-bulb" . "\xf000")
("link" . "\xf05c")
("link-external" . "\xf07f")
("list-ordered" . "\xf062")
("list-unordered" . "\xf061")
("location" . "\xf060")
("lock" . "\xf06a")
("logo-github" . "\xf092")
("mail" . "\xf03b")
("mail-read" . "\xf03c")
("mail-reply" . "\xf051")
("mark-github" . "\xf00a")
("markdown" . "\xf0c9")
("megaphone" . "\xf077")
("mention" . "\xf0be")
("milestone" . "\xf075")
("mirror" . "\xf024")
("mortar-board" . "\xf0d7")
("mute" . "\xf080")
("no-newline" . "\xf09c")
("octoface" . "\xf008")
("organization" . "\xf037")
("package" . "\xf0c4")
("paintcan" . "\xf0d1")
("pencil" . "\xf058")
("person" . "\xf018")
("pin" . "\xf041")
("plug" . "\xf0d4")
("plus" . "\xf05d")
("primitive-dot" . "\xf052")
("primitive-square" . "\xf053")
("pulse" . "\xf085")
("puzzle" . "\xf0c0")
("question" . "\xf02c")
("quote" . "\xf063")
("radio-tower" . "\xf030")
("repo" . "\xf001")
("repo-clone" . "\xf04c")
("repo-force-push" . "\xf04a")
("repo-forked" . "\xf002")
("repo-pull" . "\xf006")
("repo-push" . "\xf005")
("rocket" . "\xf033")
("rss" . "\xf034")
("ruby" . "\xf047")
("search" . "\xf02e")
("server" . "\xf097")
("settings" . "\xf07c")
("sign-in" . "\xf036")
("sign-out" . "\xf032")
("squirrel" . "\xf0b2")
("star" . "\xf02a")
("steps" . "\xf0c7")
("stop" . "\xf08f")
("sync" . "\xf087")
("tag" . "\xf015")
("telescope" . "\xf088")
("terminal" . "\xf0c8")
("three-bars" . "\xf05e")
("thumbsdown" . "\xf0db")
("thumbsup" . "\xf0da")
("tools" . "\xf031")
("trashcan" . "\xf0d0")
("triangle-down" . "\xf05b")
("triangle-left" . "\xf044")
("triangle-right" . "\xf05a")
("triangle-up" . "\xf0aa")
("unfold" . "\xf039")
("unmute" . "\xf0ba")
("versions" . "\xf064")
("x" . "\xf081")
("zap" . "\x26A1")
))
(provide 'data-octicons)

View File

@ -1,594 +0,0 @@
(defvar all-the-icons-data/weather-icons-alist
'(
("alien" . "\xf075")
("barometer" . "\xf079")
("celsius" . "\xf03c")
("cloud" . "\xf041")
("cloud-down" . "\xf03d")
("cloud-refresh" . "\xf03e")
("cloud-up" . "\xf040")
("cloudy" . "\xf013")
("cloudy-gusts" . "\xf011")
("cloudy-windy" . "\xf012")
("day-cloudy" . "\xf002")
("day-cloudy-gusts" . "\xf000")
("day-cloudy-high" . "\xf07d")
("day-cloudy-windy" . "\xf001")
("day-fog" . "\xf003")
("day-hail" . "\xf004")
("day-haze" . "\xf0b6")
("day-light-wind" . "\xf0c4")
("day-lightning" . "\xf005")
("day-rain" . "\xf008")
("day-rain-mix" . "\xf006")
("day-rain-wind" . "\xf007")
("day-showers" . "\xf009")
("day-sleet" . "\xf0b2")
("day-sleet-storm" . "\xf068")
("day-snow" . "\xf00a")
("day-snow-thunderstorm" . "\xf06b")
("day-snow-wind" . "\xf065")
("day-sprinkle" . "\xf00b")
("day-storm-showers" . "\xf00e")
("day-sunny" . "\xf00d")
("day-sunny-overcast" . "\xf00c")
("day-thunderstorm" . "\xf010")
("day-windy" . "\xf085")
("degrees" . "\xf042")
("direction-down" . "\xf044")
("direction-down-left" . "\xf043")
("direction-down-right" . "\xf088")
("direction-left" . "\xf048")
("direction-right" . "\xf04d")
("direction-up" . "\xf058")
("direction-up-left" . "\xf087")
("direction-up-right" . "\xf057")
("dust" . "\xf063")
("earthquake" . "\xf0c6")
("fahrenheit" . "\xf045")
("fire" . "\xf0c7")
("flood" . "\xf07c")
("fog" . "\xf014")
("forecast-io-clear-day" . "\xf00d")
("forecast-io-clear-night" . "\xf02e")
("forecast-io-cloudy" . "\xf013")
("forecast-io-fog" . "\xf014")
("forecast-io-hail" . "\xf015")
("forecast-io-partly-cloudy-day" . "\xf002")
("forecast-io-partly-cloudy-night" . "\xf031")
("forecast-io-rain" . "\xf019")
("forecast-io-sleet" . "\xf0b5")
("forecast-io-snow" . "\xf01b")
("forecast-io-thunderstorm" . "\xf01e")
("forecast-io-tornado" . "\xf056")
("forecast-io-wind" . "\xf050")
("gale-warning" . "\xf0cd")
("hail" . "\xf015")
("horizon" . "\xf047")
("horizon-alt" . "\xf046")
("hot" . "\xf072")
("humidity" . "\xf07a")
("hurricane" . "\xf073")
("hurricane-warning" . "\xf0cf")
("lightning" . "\xf016")
("lunar-eclipse" . "\xf070")
("meteor" . "\xf071")
("moon-0" . "\xf095")
("moon-1" . "\xf096")
("moon-10" . "\xf09f")
("moon-11" . "\xf0a0")
("moon-12" . "\xf0a1")
("moon-13" . "\xf0a2")
("moon-14" . "\xf0a3")
("moon-15" . "\xf0a4")
("moon-16" . "\xf0a5")
("moon-17" . "\xf0a6")
("moon-18" . "\xf0a7")
("moon-19" . "\xf0a8")
("moon-2" . "\xf097")
("moon-20" . "\xf0a9")
("moon-21" . "\xf0aa")
("moon-22" . "\xf0ab")
("moon-23" . "\xf0ac")
("moon-24" . "\xf0ad")
("moon-25" . "\xf0ae")
("moon-26" . "\xf0af")
("moon-27" . "\xf0b0")
("moon-3" . "\xf098")
("moon-4" . "\xf099")
("moon-5" . "\xf09a")
("moon-6" . "\xf09b")
("moon-7" . "\xf09c")
("moon-8" . "\xf09d")
("moon-9" . "\xf09e")
("moon-alt-first-quarter" . "\xf0d6")
("moon-alt-full" . "\xf0dd")
("moon-alt-new" . "\xf0eb")
("moon-alt-third-quarter" . "\xf0e4")
("moon-alt-waning-crescent-1" . "\xf0e5")
("moon-alt-waning-crescent-2" . "\xf0e6")
("moon-alt-waning-crescent-3" . "\xf0e7")
("moon-alt-waning-crescent-4" . "\xf0e8")
("moon-alt-waning-crescent-5" . "\xf0e9")
("moon-alt-waning-crescent-6" . "\xf0ea")
("moon-alt-waning-gibbous-1" . "\xf0de")
("moon-alt-waning-gibbous-2" . "\xf0df")
("moon-alt-waning-gibbous-3" . "\xf0e0")
("moon-alt-waning-gibbous-4" . "\xf0e1")
("moon-alt-waning-gibbous-5" . "\xf0e2")
("moon-alt-waning-gibbous-6" . "\xf0e3")
("moon-alt-waxing-crescent-1" . "\xf0d0")
("moon-alt-waxing-crescent-2" . "\xf0d1")
("moon-alt-waxing-crescent-3" . "\xf0d2")
("moon-alt-waxing-crescent-4" . "\xf0d3")
("moon-alt-waxing-crescent-5" . "\xf0d4")
("moon-alt-waxing-crescent-6" . "\xf0d5")
("moon-alt-waxing-gibbous-1" . "\xf0d7")
("moon-alt-waxing-gibbous-2" . "\xf0d8")
("moon-alt-waxing-gibbous-3" . "\xf0d9")
("moon-alt-waxing-gibbous-4" . "\xf0da")
("moon-alt-waxing-gibbous-5" . "\xf0db")
("moon-alt-waxing-gibbous-6" . "\xf0dc")
("moon-first-quarter" . "\xf09c")
("moon-full" . "\xf0a3")
("moon-new" . "\xf095")
("moon-third-quarter" . "\xf0aa")
("moon-waning-crescent-1" . "\xf0ab")
("moon-waning-crescent-2" . "\xf0ac")
("moon-waning-crescent-3" . "\xf0ad")
("moon-waning-crescent-4" . "\xf0ae")
("moon-waning-crescent-5" . "\xf0af")
("moon-waning-crescent-6" . "\xf0b0")
("moon-waning-gibbous-1" . "\xf0a4")
("moon-waning-gibbous-2" . "\xf0a5")
("moon-waning-gibbous-3" . "\xf0a6")
("moon-waning-gibbous-4" . "\xf0a7")
("moon-waning-gibbous-5" . "\xf0a8")
("moon-waning-gibbous-6" . "\xf0a9")
("moon-waxing-crescent-1" . "\xf096")
("moon-waxing-crescent-2" . "\xf097")
("moon-waxing-crescent-3" . "\xf098")
("moon-waxing-crescent-4" . "\xf099")
("moon-waxing-crescent-5" . "\xf09a")
("moon-waxing-crescent-6" . "\xf09b")
("moon-waxing-gibbous-1" . "\xf09d")
("moon-waxing-gibbous-2" . "\xf09e")
("moon-waxing-gibbous-3" . "\xf09f")
("moon-waxing-gibbous-4" . "\xf0a0")
("moon-waxing-gibbous-5" . "\xf0a1")
("moon-waxing-gibbous-6" . "\xf0a2")
("moonrise" . "\xf0c9")
("moonset" . "\xf0ca")
("na" . "\xf07b")
("night-alt-cloudy" . "\xf086")
("night-alt-cloudy-gusts" . "\xf022")
("night-alt-cloudy-high" . "\xf07e")
("night-alt-cloudy-windy" . "\xf023")
("night-alt-hail" . "\xf024")
("night-alt-lightning" . "\xf025")
("night-alt-partly-cloudy" . "\xf081")
("night-alt-rain" . "\xf028")
("night-alt-rain-mix" . "\xf026")
("night-alt-rain-wind" . "\xf027")
("night-alt-showers" . "\xf029")
("night-alt-sleet" . "\xf0b4")
("night-alt-sleet-storm" . "\xf06a")
("night-alt-snow" . "\xf02a")
("night-alt-snow-thunderstorm" . "\xf06d")
("night-alt-snow-wind" . "\xf067")
("night-alt-sprinkle" . "\xf02b")
("night-alt-storm-showers" . "\xf02c")
("night-alt-thunderstorm" . "\xf02d")
("night-clear" . "\xf02e")
("night-cloudy" . "\xf031")
("night-cloudy-gusts" . "\xf02f")
("night-cloudy-high" . "\xf080")
("night-cloudy-windy" . "\xf030")
("night-fog" . "\xf04a")
("night-hail" . "\xf032")
("night-lightning" . "\xf033")
("night-partly-cloudy" . "\xf083")
("night-rain" . "\xf036")
("night-rain-mix" . "\xf034")
("night-rain-wind" . "\xf035")
("night-showers" . "\xf037")
("night-sleet" . "\xf0b3")
("night-sleet-storm" . "\xf069")
("night-snow" . "\xf038")
("night-snow-thunderstorm" . "\xf06c")
("night-snow-wind" . "\xf066")
("night-sprinkle" . "\xf039")
("night-storm-showers" . "\xf03a")
("night-thunderstorm" . "\xf03b")
("owm-200" . "\xf01e")
("owm-201" . "\xf01e")
("owm-202" . "\xf01e")
("owm-210" . "\xf016")
("owm-211" . "\xf016")
("owm-212" . "\xf016")
("owm-221" . "\xf016")
("owm-230" . "\xf01e")
("owm-231" . "\xf01e")
("owm-232" . "\xf01e")
("owm-300" . "\xf01c")
("owm-301" . "\xf01c")
("owm-302" . "\xf019")
("owm-310" . "\xf017")
("owm-311" . "\xf019")
("owm-312" . "\xf019")
("owm-313" . "\xf01a")
("owm-314" . "\xf019")
("owm-321" . "\xf01c")
("owm-500" . "\xf01c")
("owm-501" . "\xf019")
("owm-502" . "\xf019")
("owm-503" . "\xf019")
("owm-504" . "\xf019")
("owm-511" . "\xf017")
("owm-520" . "\xf01a")
("owm-521" . "\xf01a")
("owm-522" . "\xf01a")
("owm-531" . "\xf01d")
("owm-600" . "\xf01b")
("owm-601" . "\xf01b")
("owm-602" . "\xf0b5")
("owm-611" . "\xf017")
("owm-612" . "\xf017")
("owm-615" . "\xf017")
("owm-616" . "\xf017")
("owm-620" . "\xf017")
("owm-621" . "\xf01b")
("owm-622" . "\xf01b")
("owm-701" . "\xf01a")
("owm-711" . "\xf062")
("owm-721" . "\xf0b6")
("owm-731" . "\xf063")
("owm-741" . "\xf014")
("owm-761" . "\xf063")
("owm-762" . "\xf063")
("owm-771" . "\xf011")
("owm-781" . "\xf056")
("owm-800" . "\xf00d")
("owm-801" . "\xf011")
("owm-802" . "\xf011")
("owm-803" . "\xf012")
("owm-804" . "\xf013")
("owm-900" . "\xf056")
("owm-901" . "\xf01d")
("owm-902" . "\xf073")
("owm-903" . "\xf076")
("owm-904" . "\xf072")
("owm-905" . "\xf021")
("owm-906" . "\xf015")
("owm-957" . "\xf050")
("owm-day-200" . "\xf010")
("owm-day-201" . "\xf010")
("owm-day-202" . "\xf010")
("owm-day-210" . "\xf005")
("owm-day-211" . "\xf005")
("owm-day-212" . "\xf005")
("owm-day-221" . "\xf005")
("owm-day-230" . "\xf010")
("owm-day-231" . "\xf010")
("owm-day-232" . "\xf010")
("owm-day-300" . "\xf00b")
("owm-day-301" . "\xf00b")
("owm-day-302" . "\xf008")
("owm-day-310" . "\xf008")
("owm-day-311" . "\xf008")
("owm-day-312" . "\xf008")
("owm-day-313" . "\xf008")
("owm-day-314" . "\xf008")
("owm-day-321" . "\xf00b")
("owm-day-500" . "\xf00b")
("owm-day-501" . "\xf008")
("owm-day-502" . "\xf008")
("owm-day-503" . "\xf008")
("owm-day-504" . "\xf008")
("owm-day-511" . "\xf006")
("owm-day-520" . "\xf009")
("owm-day-521" . "\xf009")
("owm-day-522" . "\xf009")
("owm-day-531" . "\xf00e")
("owm-day-600" . "\xf00a")
("owm-day-601" . "\xf0b2")
("owm-day-602" . "\xf00a")
("owm-day-611" . "\xf006")
("owm-day-612" . "\xf006")
("owm-day-615" . "\xf006")
("owm-day-616" . "\xf006")
("owm-day-620" . "\xf006")
("owm-day-621" . "\xf00a")
("owm-day-622" . "\xf00a")
("owm-day-701" . "\xf009")
("owm-day-711" . "\xf062")
("owm-day-721" . "\xf0b6")
("owm-day-731" . "\xf063")
("owm-day-741" . "\xf003")
("owm-day-761" . "\xf063")
("owm-day-762" . "\xf063")
("owm-day-781" . "\xf056")
("owm-day-800" . "\xf00d")
("owm-day-801" . "\xf000")
("owm-day-802" . "\xf000")
("owm-day-803" . "\xf000")
("owm-day-804" . "\xf00c")
("owm-day-900" . "\xf056")
("owm-day-902" . "\xf073")
("owm-day-903" . "\xf076")
("owm-day-904" . "\xf072")
("owm-day-906" . "\xf004")
("owm-day-957" . "\xf050")
("owm-night-200" . "\xf02d")
("owm-night-201" . "\xf02d")
("owm-night-202" . "\xf02d")
("owm-night-210" . "\xf025")
("owm-night-211" . "\xf025")
("owm-night-212" . "\xf025")
("owm-night-221" . "\xf025")
("owm-night-230" . "\xf02d")
("owm-night-231" . "\xf02d")
("owm-night-232" . "\xf02d")
("owm-night-300" . "\xf02b")
("owm-night-301" . "\xf02b")
("owm-night-302" . "\xf028")
("owm-night-310" . "\xf028")
("owm-night-311" . "\xf028")
("owm-night-312" . "\xf028")
("owm-night-313" . "\xf028")
("owm-night-314" . "\xf028")
("owm-night-321" . "\xf02b")
("owm-night-500" . "\xf02b")
("owm-night-501" . "\xf028")
("owm-night-502" . "\xf028")
("owm-night-503" . "\xf028")
("owm-night-504" . "\xf028")
("owm-night-511" . "\xf026")
("owm-night-520" . "\xf029")
("owm-night-521" . "\xf029")
("owm-night-522" . "\xf029")
("owm-night-531" . "\xf02c")
("owm-night-600" . "\xf02a")
("owm-night-601" . "\xf0b4")
("owm-night-602" . "\xf02a")
("owm-night-611" . "\xf026")
("owm-night-612" . "\xf026")
("owm-night-615" . "\xf026")
("owm-night-616" . "\xf026")
("owm-night-620" . "\xf026")
("owm-night-621" . "\xf02a")
("owm-night-622" . "\xf02a")
("owm-night-701" . "\xf029")
("owm-night-711" . "\xf062")
("owm-night-721" . "\xf0b6")
("owm-night-731" . "\xf063")
("owm-night-741" . "\xf04a")
("owm-night-761" . "\xf063")
("owm-night-762" . "\xf063")
("owm-night-781" . "\xf056")
("owm-night-800" . "\xf02e")
("owm-night-801" . "\xf022")
("owm-night-802" . "\xf022")
("owm-night-803" . "\xf022")
("owm-night-804" . "\xf086")
("owm-night-900" . "\xf056")
("owm-night-902" . "\xf073")
("owm-night-903" . "\xf076")
("owm-night-904" . "\xf072")
("owm-night-906" . "\xf024")
("owm-night-957" . "\xf050")
("rain" . "\xf019")
("rain-mix" . "\xf017")
("rain-wind" . "\xf018")
("raindrop" . "\xf078")
("raindrops" . "\xf04e")
("refresh" . "\xf04c")
("refresh-alt" . "\xf04b")
("sandstorm" . "\xf082")
("showers" . "\xf01a")
("sleet" . "\xf0b5")
("small-craft-advisory" . "\xf0cc")
("smog" . "\xf074")
("smoke" . "\xf062")
("snow" . "\xf01b")
("snow" . "\xf01b")
("snow-wind" . "\xf064")
("snowflake-cold" . "\xf076")
("solar-eclipse" . "\xf06e")
("sprinkle" . "\xf01c")
("stars" . "\xf077")
("storm-showers" . "\xf01d")
("storm-showers" . "\xf01d")
("storm-warning" . "\xf0ce")
("strong-wind" . "\xf050")
("sunrise" . "\xf051")
("sunset" . "\xf052")
("thermometer" . "\xf055")
("thermometer-exterior" . "\xf053")
("thermometer-internal" . "\xf054")
("thunderstorm" . "\xf01e")
("thunderstorm" . "\xf01e")
("time-1" . "\xf08a")
("time-10" . "\xf093")
("time-11" . "\xf094")
("time-12" . "\xf089")
("time-2" . "\xf08b")
("time-3" . "\xf08c")
("time-4" . "\xf08d")
("time-5" . "\xf08e")
("time-6" . "\xf08f")
("time-7" . "\xf090")
("time-8" . "\xf091")
("time-9" . "\xf092")
("tornado" . "\xf056")
("train" . "\xf0cb")
("tsunami" . "\xf0c5")
("umbrella" . "\xf084")
("volcano" . "\xf0c8")
("wind-beaufort-0" . "\xf0b7")
("wind-beaufort-1" . "\xf0b8")
("wind-beaufort-10" . "\xf0c1")
("wind-beaufort-11" . "\xf0c2")
("wind-beaufort-12" . "\xf0c3")
("wind-beaufort-2" . "\xf0b9")
("wind-beaufort-3" . "\xf0ba")
("wind-beaufort-4" . "\xf0bb")
("wind-beaufort-5" . "\xf0bc")
("wind-beaufort-6" . "\xf0bd")
("wind-beaufort-7" . "\xf0be")
("wind-beaufort-8" . "\xf0bf")
("wind-beaufort-9" . "\xf0c0")
("wind-direction" . "\xf0b1")
("windy" . "\xf021")
("wmo4680-00" . "\xf055")
("wmo4680-01" . "\xf013")
("wmo4680-02" . "\xf055")
("wmo4680-03" . "\xf013")
("wmo4680-04" . "\xf014")
("wmo4680-05" . "\xf014")
("wmo4680-10" . "\xf014")
("wmo4680-11" . "\xf014")
("wmo4680-12" . "\xf016")
("wmo4680-18" . "\xf050")
("wmo4680-20" . "\xf014")
("wmo4680-21" . "\xf017")
("wmo4680-22" . "\xf017")
("wmo4680-23" . "\xf019")
("wmo4680-24" . "\xf01b")
("wmo4680-25" . "\xf015")
("wmo4680-26" . "\xf01e")
("wmo4680-27" . "\xf063")
("wmo4680-28" . "\xf063")
("wmo4680-29" . "\xf063")
("wmo4680-30" . "\xf014")
("wmo4680-31" . "\xf014")
("wmo4680-32" . "\xf014")
("wmo4680-33" . "\xf014")
("wmo4680-34" . "\xf014")
("wmo4680-35" . "\xf014")
("wmo4680-40" . "\xf017")
("wmo4680-41" . "\xf01c")
("wmo4680-42" . "\xf019")
("wmo4680-43" . "\xf01c")
("wmo4680-44" . "\xf019")
("wmo4680-45" . "\xf015")
("wmo4680-46" . "\xf015")
("wmo4680-47" . "\xf01b")
("wmo4680-48" . "\xf01b")
("wmo4680-50" . "\xf01c")
("wmo4680-51" . "\xf01c")
("wmo4680-52" . "\xf019")
("wmo4680-53" . "\xf019")
("wmo4680-54" . "\xf076")
("wmo4680-55" . "\xf076")
("wmo4680-56" . "\xf076")
("wmo4680-57" . "\xf01c")
("wmo4680-58" . "\xf019")
("wmo4680-60" . "\xf01c")
("wmo4680-61" . "\xf01c")
("wmo4680-62" . "\xf019")
("wmo4680-63" . "\xf019")
("wmo4680-64" . "\xf015")
("wmo4680-65" . "\xf015")
("wmo4680-66" . "\xf015")
("wmo4680-67" . "\xf017")
("wmo4680-68" . "\xf017")
("wmo4680-70" . "\xf01b")
("wmo4680-71" . "\xf01b")
("wmo4680-72" . "\xf01b")
("wmo4680-73" . "\xf01b")
("wmo4680-74" . "\xf076")
("wmo4680-75" . "\xf076")
("wmo4680-76" . "\xf076")
("wmo4680-77" . "\xf01b")
("wmo4680-78" . "\xf076")
("wmo4680-80" . "\xf019")
("wmo4680-81" . "\xf01c")
("wmo4680-82" . "\xf019")
("wmo4680-83" . "\xf019")
("wmo4680-84" . "\xf01d")
("wmo4680-85" . "\xf017")
("wmo4680-86" . "\xf017")
("wmo4680-87" . "\xf017")
("wmo4680-89" . "\xf015")
("wmo4680-90" . "\xf016")
("wmo4680-91" . "\xf01d")
("wmo4680-92" . "\xf01e")
("wmo4680-93" . "\xf01e")
("wmo4680-94" . "\xf016")
("wmo4680-95" . "\xf01e")
("wmo4680-96" . "\xf01e")
("wmo4680-99" . "\xf056")
("wu-chanceflurries" . "\xf064")
("wu-chancerain" . "\xf019")
("wu-chancesleat" . "\xf0b5")
("wu-chancesnow" . "\xf01b")
("wu-chancetstorms" . "\xf01e")
("wu-clear" . "\xf00d")
("wu-cloudy" . "\xf002")
("wu-flurries" . "\xf064")
("wu-hazy" . "\xf0b6")
("wu-mostlycloudy" . "\xf002")
("wu-mostlysunny" . "\xf00d")
("wu-partlycloudy" . "\xf002")
("wu-partlysunny" . "\xf00d")
("wu-rain" . "\xf01a")
("wu-sleat" . "\xf0b5")
("wu-snow" . "\xf01b")
("wu-sunny" . "\xf00d")
("wu-tstorms" . "\xf01e")
("wu-unknown" . "\xf00d")
("yahoo-0" . "\xf056")
("yahoo-1" . "\xf00e")
("yahoo-10" . "\xf015")
("yahoo-11" . "\xf01a")
("yahoo-12" . "\xf01a")
("yahoo-13" . "\xf01b")
("yahoo-14" . "\xf00a")
("yahoo-15" . "\xf064")
("yahoo-16" . "\xf01b")
("yahoo-17" . "\xf015")
("yahoo-18" . "\xf017")
("yahoo-19" . "\xf063")
("yahoo-2" . "\xf073")
("yahoo-20" . "\xf014")
("yahoo-21" . "\xf021")
("yahoo-22" . "\xf062")
("yahoo-23" . "\xf050")
("yahoo-24" . "\xf050")
("yahoo-25" . "\xf076")
("yahoo-26" . "\xf013")
("yahoo-27" . "\xf031")
("yahoo-28" . "\xf002")
("yahoo-29" . "\xf031")
("yahoo-3" . "\xf01e")
("yahoo-30" . "\xf002")
("yahoo-31" . "\xf02e")
("yahoo-32" . "\xf00d")
("yahoo-3200" . "\xf077")
("yahoo-33" . "\xf083")
("yahoo-34" . "\xf00c")
("yahoo-35" . "\xf017")
("yahoo-36" . "\xf072")
("yahoo-37" . "\xf00e")
("yahoo-38" . "\xf00e")
("yahoo-39" . "\xf00e")
("yahoo-4" . "\xf01e")
("yahoo-40" . "\xf01a")
("yahoo-41" . "\xf064")
("yahoo-42" . "\xf01b")
("yahoo-43" . "\xf064")
("yahoo-44" . "\xf00c")
("yahoo-45" . "\xf00e")
("yahoo-46" . "\xf01b")
("yahoo-47" . "\xf00e")
("yahoo-5" . "\xf017")
("yahoo-6" . "\xf017")
("yahoo-7" . "\xf017")
("yahoo-8" . "\xf015")
("yahoo-9" . "\xf01a")
))
(provide 'data-weathericons)

View File

@ -1,6 +1,6 @@
(define-package "all-the-icons" "20220801.1541" "A library for inserting Developer icons" (define-package "all-the-icons" "20220929.2303" "A library for inserting Developer icons"
'((emacs "24.3")) '((emacs "24.3"))
:commit "6f876fa11ef64af20d9b2a44fdabac6446de51ba" :authors :commit "51bf77da1ebc3c199dfc11f54c0dce67559f5f40" :authors
'(("Dominic Charlesworth" . "dgc336@gmail.com")) '(("Dominic Charlesworth" . "dgc336@gmail.com"))
:maintainer :maintainer
'("Dominic Charlesworth" . "dgc336@gmail.com") '("Dominic Charlesworth" . "dgc336@gmail.com")

View File

@ -158,6 +158,7 @@
;; ? ;; ?
("pkg" all-the-icons-octicon "package" :v-adjust 0.0 :face all-the-icons-dsilver) ("pkg" all-the-icons-octicon "package" :v-adjust 0.0 :face all-the-icons-dsilver)
("rpm" all-the-icons-octicon "package" :v-adjust 0.0 :face all-the-icons-dsilver) ("rpm" all-the-icons-octicon "package" :v-adjust 0.0 :face all-the-icons-dsilver)
("pkgbuild" all-the-icons-octicon "package" :v-adjust 0.0 :face all-the-icons-dsilver)
("elc" all-the-icons-octicon "file-binary" :v-adjust 0.0 :face all-the-icons-dsilver) ("elc" all-the-icons-octicon "file-binary" :v-adjust 0.0 :face all-the-icons-dsilver)
("gz" all-the-icons-octicon "file-binary" :v-adjust 0.0 :face all-the-icons-lmaroon) ("gz" all-the-icons-octicon "file-binary" :v-adjust 0.0 :face all-the-icons-lmaroon)
("zip" all-the-icons-octicon "file-zip" :v-adjust 0.0 :face all-the-icons-lmaroon) ("zip" all-the-icons-octicon "file-zip" :v-adjust 0.0 :face all-the-icons-lmaroon)
@ -571,6 +572,7 @@ for performance sake.")
(emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-purple) (emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-purple)
(circe-server-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) (circe-server-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0)
(circe-channel-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) (circe-channel-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0)
(circe-query-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0)
(crystal-mode all-the-icons-fileicon "crystal" :v-adjust 0.0 :face all-the-icons-yellow) (crystal-mode all-the-icons-fileicon "crystal" :v-adjust 0.0 :face all-the-icons-yellow)
(erc-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0) (erc-mode all-the-icons-faicon "commenting-o" :height 1.0 :v-adjust 0.0)
(inferior-emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-lblue) (inferior-emacs-lisp-mode all-the-icons-fileicon "elisp" :height 1.0 :v-adjust -0.1 :face all-the-icons-lblue)
@ -609,6 +611,7 @@ for performance sake.")
(mu4e-headers-mode all-the-icons-octicon "mail" :v-adjust 0.0) (mu4e-headers-mode all-the-icons-octicon "mail" :v-adjust 0.0)
(mu4e-main-mode all-the-icons-octicon "mail" :v-adjust 0.0) (mu4e-main-mode all-the-icons-octicon "mail" :v-adjust 0.0)
(mu4e-view-mode all-the-icons-octicon "mail-read" :v-adjust 0.0) (mu4e-view-mode all-the-icons-octicon "mail-read" :v-adjust 0.0)
(sieve-mode all-the-icons-octicon "mail" :v-adjust 0.0)
(package-menu-mode all-the-icons-faicon "archive" :height 1.0 :v-adjust 0.0 :face all-the-icons-silver) (package-menu-mode all-the-icons-faicon "archive" :height 1.0 :v-adjust 0.0 :face all-the-icons-silver)
(paradox-menu-mode all-the-icons-faicon "archive" :height 1.0 :v-adjust 0.0 :face all-the-icons-silver) (paradox-menu-mode all-the-icons-faicon "archive" :height 1.0 :v-adjust 0.0 :face all-the-icons-silver)
(Custom-mode all-the-icons-octicon "settings" :v-adjust -0.1) (Custom-mode all-the-icons-octicon "settings" :v-adjust -0.1)
@ -726,7 +729,8 @@ for performance sake.")
(lilypond-mode all-the-icons-faicon "music" :face all-the-icons-green) (lilypond-mode all-the-icons-faicon "music" :face all-the-icons-green)
(magik-session-mode all-the-icons-alltheicon "terminal" :face all-the-icons-blue) (magik-session-mode all-the-icons-alltheicon "terminal" :face all-the-icons-blue)
(magik-cb-mode all-the-icons-faicon "book" :face all-the-icons-blue) (magik-cb-mode all-the-icons-faicon "book" :face all-the-icons-blue)
(meson-mode all-the-icons-fileicon "meson" :face all-the-icons-purple))) (meson-mode all-the-icons-fileicon "meson" :face all-the-icons-purple)
(man-common all-the-icons-fileicon "man-page" :face all-the-icons-blue)))
(defvar all-the-icons-url-alist (defvar all-the-icons-url-alist
'( '(
@ -999,7 +1003,12 @@ inserting functions."
;; Family Face Functions ;; Family Face Functions
(defun all-the-icons-icon-family-for-file (file) (defun all-the-icons-icon-family-for-file (file)
"Get the icons font family for FILE." "Get the icons font family for FILE."
(let ((icon (all-the-icons-match-to-alist file all-the-icons-regexp-icon-alist))) (let* ((ext (file-name-extension file))
(icon (or (all-the-icons-match-to-alist file all-the-icons-regexp-icon-alist)
(and ext
(cdr (assoc (downcase ext)
all-the-icons-extension-icon-alist)))
all-the-icons-default-file-icon)))
(funcall (intern (format "%s-family" (car icon)))))) (funcall (intern (format "%s-family" (car icon))))))
(defun all-the-icons-icon-family-for-mode (mode) (defun all-the-icons-icon-family-for-mode (mode)

File diff suppressed because it is too large Load Diff

View File

@ -1 +1 @@
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-08-03T17:05:03-0400 using RSA Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-11-07T17:05:03-0500 using RSA

File diff suppressed because it is too large Load Diff

View File

@ -28,13 +28,13 @@
(:authors (:authors
("Jordon Biondo" . "jordonbiondo@gmail.com")))]) ("Jordon Biondo" . "jordonbiondo@gmail.com")))])
(annotate . (annotate .
[(1 7 0) [(1 8 1)
nil "annotate files without changing them" tar nil "annotate files without changing them" tar
((:url . "https://github.com/bastibe/annotate.el") ((:url . "https://github.com/bastibe/annotate.el")
(:maintainer "Bastian Bechtold <bastibe.dev@mailbox.org>, cage" . "cage-dev@twistfold.it") (:maintainer "Bastian Bechtold <bastibe.dev@mailbox.org>, cage" . "cage-dev@twistfold.it")
(:authors (:authors
("Bastian Bechtold")) ("Bastian Bechtold"))
(:commit . "9bfa065a4e14f7e96c8ac487c4e54b084a02133c"))]) (:commit . "a2751a028f9303e6b891bfe1beee49e1e3197256"))])
(anti-zenburn-theme . (anti-zenburn-theme .
[(2 5 1) [(2 5 1)
nil "Low-contrast Zenburn-inverted theme" tar nil "Low-contrast Zenburn-inverted theme" tar
@ -78,18 +78,15 @@
(:maintainer "stardiviner" . "numbchild@gmail.com") (:maintainer "stardiviner" . "numbchild@gmail.com")
(:keywords "languages" "arduino"))]) (:keywords "languages" "arduino"))])
(autothemer . (autothemer .
[(0 2 3) [(0 2 14)
((dash ((dash
(2 10 0)) (2 10 0))
(emacs (emacs
(24)) (26 1)))
(cl-lib "Conveniently define themes" tar
(0 5))) ((:url . "https://github.com/jasonm23/autothemer")
"Conveniently define themes." tar (:maintainer "Jason Milkins" . "jasonm23@gmail.com")
((:url . "https://github.com/sebastiansturm/autothemer") (:commit . "87a21019ed4f41a487a8af34467e0ebff19f365e"))])
(:maintainer "Sebastian Sturm")
(:authors
("Sebastian Sturm")))])
(better-jumper . (better-jumper .
[(1 0 1) [(1 0 1)
((emacs ((emacs
@ -119,7 +116,7 @@
(:keywords "bison-mode" "yacc-mode") (:keywords "bison-mode" "yacc-mode")
(:url . "https://elpa.nongnu.org/nongnu/bison-mode.html"))]) (:url . "https://elpa.nongnu.org/nongnu/bison-mode.html"))])
(boxquote . (boxquote .
[(2 2) [(2 3)
((cl-lib ((cl-lib
(0 5))) (0 5)))
"Quote text with a semi-box." tar "Quote text with a semi-box." tar
@ -127,9 +124,10 @@
(:keywords "quoting") (:keywords "quoting")
(:maintainer "Dave Pearson" . "davep@davep.org") (:maintainer "Dave Pearson" . "davep@davep.org")
(:authors (:authors
("Dave Pearson" . "davep@davep.org")))]) ("Dave Pearson" . "davep@davep.org"))
(:commit . "fe676396fa7e4372e01bf2c3d9a62e8d53615d46"))])
(buttercup . (buttercup .
[(1 25) [(1 28)
((emacs ((emacs
(24 3))) (24 3)))
"Behavior-Driven Emacs Lisp Testing" tar "Behavior-Driven Emacs Lisp Testing" tar
@ -137,7 +135,7 @@
(:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com") (:maintainer "Ola Nilsson" . "ola.nilsson@gmail.com")
(:authors (:authors
("Jorgen Schaefer" . "contact@jorgenschaefer.de")) ("Jorgen Schaefer" . "contact@jorgenschaefer.de"))
(:commit . "ba62f80555d46faf49dc451c0ad20f39f6a170ab"))]) (:commit . "eaa4b3ccd115a2bb25be98dc637950645d3adbae"))])
(caml . (caml .
[(4 9) [(4 9)
((emacs ((emacs
@ -151,22 +149,20 @@
("Damien Doligez" . "damien.doligez@inria.fr")) ("Damien Doligez" . "damien.doligez@inria.fr"))
(:keywords "ocaml"))]) (:keywords "ocaml"))])
(cdlatex . (cdlatex .
[(4 12) [(4 14)
((auctex nil "Fast input methods for LaTeX environments and math" tar
(9 9)))
"Fast input methods for LaTeX environments and math" tar
((:keywords "tex") ((:keywords "tex")
(:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com") (:maintainer "Carsten Dominik" . "carsten.dominik@gmail.com")
(:authors (:authors
("Carsten Dominik" . "carsten.dominik@gmail.com")) ("Carsten Dominik" . "carsten.dominik@gmail.com"))
(:url . "https://elpa.nongnu.org/nongnu/cdlatex.html") (:url . "https://elpa.nongnu.org/nongnu/cdlatex.html")
(:commit . "7791fa94d509f56ed671055e856c5d00c788dd7e"))]) (:commit . "6f734db8ab87f11dffb77c33a445140baeb723c4"))])
(cider . (cider .
[(1 4 1) [(1 5 0)
((emacs ((emacs
(26)) (26))
(clojure-mode (clojure-mode
(5 14)) (5 15 1))
(parseedn (parseedn
(1 0 6)) (1 0 6))
(queue (queue
@ -188,7 +184,7 @@
("Artur Malabarba" . "bruce.connor.am@gmail.com") ("Artur Malabarba" . "bruce.connor.am@gmail.com")
("Hugo Duncan" . "hugo@hugoduncan.org") ("Hugo Duncan" . "hugo@hugoduncan.org")
("Steve Purcell" . "steve@sanityinc.com")) ("Steve Purcell" . "steve@sanityinc.com"))
(:commit . "11156e7b0cab470f4aab39d3af5ee3cb1e0b09d0"))]) (:commit . "700ded1d6c245e01fca7f364db1561ad1e1bb595"))])
(clojure-mode . (clojure-mode .
[(5 15 1) [(5 15 1)
((emacs ((emacs
@ -209,18 +205,8 @@
(:authors (:authors
("Chris Wanstrath" . "chris@ozmm.org")) ("Chris Wanstrath" . "chris@ozmm.org"))
(:commit . "adfb7ae73d6ee2ef790c780dd3c967e62930e94a"))]) (:commit . "adfb7ae73d6ee2ef790c780dd3c967e62930e94a"))])
(color-theme-tangotango .
[(0 0 6)
((color-theme
(6 6 1)))
"Tango Palette color theme for Emacs." tar
((:url . "https://github.com/juba/color-theme-tangotango")
(:keywords "tango" "palette" "color" "theme" "emacs")
(:maintainer "Julien Barnier")
(:authors
("Julien Barnier")))])
(corfu-terminal . (corfu-terminal .
[(0 4) [(0 5)
((emacs ((emacs
(26 1)) (26 1))
(corfu (corfu
@ -233,7 +219,7 @@
(:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:maintainer "Akib Azmain Turja" . "akib@disroot.org")
(:authors (:authors
("Akib Azmain Turja" . "akib@disroot.org")) ("Akib Azmain Turja" . "akib@disroot.org"))
(:commit . "7c5a8a1c07b6c1a41b358b083d5bf7773701d26b"))]) (:commit . "1a15a01e2e1464daadfa4973cb695802e5c23a25"))])
(crux . (crux .
[(0 4 0) [(0 4 0)
((seq ((seq
@ -307,13 +293,13 @@
("Campbell Barton" . "ideasman42@gmail.com")) ("Campbell Barton" . "ideasman42@gmail.com"))
(:commit . "1c5837d2a667d977a1bd90ba44ebd911cc660f26"))]) (:commit . "1c5837d2a667d977a1bd90ba44ebd911cc660f26"))])
(dockerfile-mode . (dockerfile-mode .
[(1 5) [(1 7)
((emacs ((emacs
(24))) (24)))
"Major mode for editing Docker's Dockerfiles" tar "Major mode for editing Docker's Dockerfiles" tar
((:url . "https://github.com/spotify/dockerfile-mode") ((:url . "https://github.com/spotify/dockerfile-mode")
(:keywords "docker") (:keywords "docker")
(:commit . "628315e2e4ab2f269548126444234caa057b2c75"))]) (:commit . "74ed3dfd1584298a0ea9881115d33ba1808a4c3f"))])
(dracula-theme . (dracula-theme .
[(1 7 0) [(1 7 0)
((emacs ((emacs
@ -345,7 +331,7 @@
("Fanael Linithien" . "fanael4@gmail.com")) ("Fanael Linithien" . "fanael4@gmail.com"))
(:commit . "f80f63822ffae78de38dbe72cacaeb1aaa96c732"))]) (:commit . "f80f63822ffae78de38dbe72cacaeb1aaa96c732"))])
(editorconfig . (editorconfig .
[(0 8 2) [(0 9 1)
((cl-lib ((cl-lib
(0 5)) (0 5))
(nadvice (nadvice
@ -356,7 +342,8 @@
((:url . "https://github.com/editorconfig/editorconfig-emacs#readme") ((:url . "https://github.com/editorconfig/editorconfig-emacs#readme")
(:maintainer "EditorConfig Team" . "editorconfig@googlegroups.com") (:maintainer "EditorConfig Team" . "editorconfig@googlegroups.com")
(:authors (:authors
("EditorConfig Team" . "editorconfig@googlegroups.com")))]) ("EditorConfig Team" . "editorconfig@googlegroups.com"))
(:commit . "3352e487809dda4a0366314e30c9efa431b61f79"))])
(elixir-mode . (elixir-mode .
[(2 4 0) [(2 4 0)
((emacs ((emacs
@ -469,7 +456,7 @@
("Chen Bin" . "chenbin.sh@gmail.com")) ("Chen Bin" . "chenbin.sh@gmail.com"))
(:commit . "7a2a7384b6e752a805d6fbb78cf9425e54c2b18b"))]) (:commit . "7a2a7384b6e752a805d6fbb78cf9425e54c2b18b"))])
(evil-nerd-commenter . (evil-nerd-commenter .
[(3 5 7) [(3 5 8)
((emacs ((emacs
(25 1))) (25 1)))
"Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar "Comment/uncomment lines efficiently. Like Nerd Commenter in Vim" tar
@ -478,7 +465,7 @@
(:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:maintainer "Chen Bin" . "chenbin.sh@gmail.com")
(:authors (:authors
("Chen Bin" . "chenbin.sh@gmail.com")) ("Chen Bin" . "chenbin.sh@gmail.com"))
(:commit . "29ced6fda6a76771a8a054ef55c13a1330793d4d"))]) (:commit . "9609fb170da00aeca1716b022d93e1cb68464a34"))])
(evil-numbers . (evil-numbers .
[(0 7) [(0 7)
((emacs ((emacs
@ -512,7 +499,7 @@
(:authors (:authors
("https://turbocafe.keybase.pub")))]) ("https://turbocafe.keybase.pub")))])
(flymake-popon . (flymake-popon .
[(0 3) [(0 5)
((emacs ((emacs
(26 1)) (26 1))
(flymake (flymake
@ -527,7 +514,19 @@
(:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:maintainer "Akib Azmain Turja" . "akib@disroot.org")
(:authors (:authors
("Akib Azmain Turja" . "akib@disroot.org")) ("Akib Azmain Turja" . "akib@disroot.org"))
(:commit . "3255a917fc90d946a7a6f04ef7f7632c9a89ac94"))]) (:commit . "e9572a1b63b65ec7417f7add0584fd5aeb0d6dc4"))])
(focus .
[(1 0 1)
((emacs
(24 3))
(cl-lib
(0 5)))
"Dim the font color of text in surrounding sections" tar
((:url . "http://github.com/larstvei/Focus")
(:maintainer "Lars Tveito" . "larstvei@ifi.uio.no")
(:authors
("Lars Tveito" . "larstvei@ifi.uio.no"))
(:commit . "2507ec4ec5a9402647ef85540669db1815520c15"))])
(forth-mode . (forth-mode .
[(0 2) [(0 2)
nil "Programming language mode for Forth" tar nil "Programming language mode for Forth" tar
@ -549,11 +548,9 @@
("Matus Goljer" . "matus.goljer@gmail.com")) ("Matus Goljer" . "matus.goljer@gmail.com"))
(:commit . "6f9172376af4d399c7853cbdfdd7425348a878f9"))]) (:commit . "6f9172376af4d399c7853cbdfdd7425348a878f9"))])
(geiser . (geiser .
[(0 24) [(0 28)
((emacs ((emacs
(25 1)) (25 1))
(transient
(0 3))
(project (project
(0 8 1))) (0 8 1)))
"GNU Emacs and Scheme talk to each other" tar "GNU Emacs and Scheme talk to each other" tar
@ -562,7 +559,7 @@
(:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org")
(:authors (:authors
("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) ("Jose Antonio Ortega Ruiz" . "jao@gnu.org"))
(:commit . "d28d19b582347bffebbf0ca905297e744842a5f2"))]) (:commit . "04dbdacfeca0190856abad859360da4bb873f9dd"))])
(geiser-chez . (geiser-chez .
[(0 17) [(0 17)
((emacs ((emacs
@ -625,18 +622,20 @@
("András Simonyi" . "andras.simonyi@gmail.com")) ("András Simonyi" . "andras.simonyi@gmail.com"))
(:keywords "languages" "gauche" "scheme" "geiser"))]) (:keywords "languages" "gauche" "scheme" "geiser"))])
(geiser-guile . (geiser-guile .
[(0 23 2) [(0 28 0)
((emacs ((emacs
(25 1)) (25 1))
(transient
(0 3))
(geiser (geiser
(0 23 2))) (0 28)))
"Guile's implementation of the geiser protocols" tar "Guile and Geiser talk to each other" tar
((:url . "https://gitlab.com/emacs-geiser/guile") ((:url . "https://gitlab.com/emacs-geiser/guile")
(:keywords "languages" "guile" "scheme" "geiser") (:keywords "languages" "guile" "scheme" "geiser")
(:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org") (:maintainer "Jose Antonio Ortega Ruiz" . "jao@gnu.org")
(:authors (:authors
("Jose Antonio Ortega Ruiz" . "jao@gnu.org")) ("Jose Antonio Ortega Ruiz" . "jao@gnu.org"))
(:commit . "c641fcc50b6b86ca95743122b5206cdcd475f96e"))]) (:commit . "f5e82dc0f5a076335f201885a7edbefaa1ad435f"))])
(geiser-kawa . (geiser-kawa .
[(0 0 1) [(0 0 1)
((emacs ((emacs
@ -779,7 +778,7 @@
("David Vazquez Pua" . "davazp@gmail.com")) ("David Vazquez Pua" . "davazp@gmail.com"))
(:commit . "fe8d7e2db5581cd0cb7a69563bc44f0669f76322"))]) (:commit . "fe8d7e2db5581cd0cb7a69563bc44f0669f76322"))])
(gruvbox-theme . (gruvbox-theme .
[(1 27 0) [(1 30 1)
((autothemer ((autothemer
(0 2))) (0 2)))
"A retro-groove colour theme for Emacs" tar "A retro-groove colour theme for Emacs" tar
@ -787,7 +786,7 @@
(:maintainer "Jason Milkins" . "jasonm23@gmail.com") (:maintainer "Jason Milkins" . "jasonm23@gmail.com")
(:authors (:authors
("Jason Milkins" . "jasonm23@gmail.com")) ("Jason Milkins" . "jasonm23@gmail.com"))
(:commit . "01bcb9ed82cf00be15900fbe9721f62a6d1fa673"))]) (:commit . "3177b458dcbd5db6135a8d57fd5b765131e4da6a"))])
(guru-mode . (guru-mode .
[(1 0) [(1 0)
nil "Become an Emacs guru" tar nil "Become an Emacs guru" tar
@ -809,9 +808,10 @@
(:authors (:authors
("Natalie Weizenbaum")))]) ("Natalie Weizenbaum")))])
(haskell-mode . (haskell-mode .
[(4 7 1) [(17 2)
nil "A Haskell editing mode" tar nil "A Haskell editing mode" tar
((:url . "https://github.com/haskell/haskell-mode") ((:url . "https://github.com/haskell/haskell-mode")
(:keywords "faces" "files" "haskell")
(:maintainer "1992 Simon Marlow") (:maintainer "1992 Simon Marlow")
(:authors (:authors
("1992 Simon Marlow") ("1992 Simon Marlow")
@ -820,7 +820,7 @@
("2001-2002 Reuben Thomas (>=v1.4)") ("2001-2002 Reuben Thomas (>=v1.4)")
("2003 Dave Love" . "fx@gnu.org") ("2003 Dave Love" . "fx@gnu.org")
("2016 Arthur Fayzrakhmanov")) ("2016 Arthur Fayzrakhmanov"))
(:keywords "faces" "files" "haskell"))]) (:commit . "e72677668f5fc7cc148008e885a0f256e245dd43"))])
(haskell-tng-mode . (haskell-tng-mode .
[(0 0 1) [(0 0 1)
((emacs ((emacs
@ -831,9 +831,9 @@
((:url . "https://gitlab.com/tseenshe/haskell-tng-mode") ((:url . "https://gitlab.com/tseenshe/haskell-tng-mode")
(:keywords "languages"))]) (:keywords "languages"))])
(helm . (helm .
[(3 8 7) [(3 8 8)
((helm-core ((helm-core
(3 8 7)) (3 8 8))
(popup (popup
(0 5 3))) (0 5 3)))
"Helm is an Emacs incremental and narrowing framework" tar "Helm is an Emacs incremental and narrowing framework" tar
@ -841,19 +841,19 @@
(:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:maintainer "Thierry Volpiatto" . "thievol@posteo.net")
(:authors (:authors
("Thierry Volpiatto" . "thievol@posteo.net")) ("Thierry Volpiatto" . "thievol@posteo.net"))
(:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118"))]) (:commit . "0a9a1e32cf130d181b26e23919402c8c25f41996"))])
(helm-core . (helm-core .
[(3 8 7) [(3 8 8)
((emacs ((emacs
(25 1)) (25 1))
(async (async
(1 9 4))) (1 9 7)))
"Development files for Helm" tar "Development files for Helm" tar
((:url . "https://emacs-helm.github.io/helm/") ((:url . "https://emacs-helm.github.io/helm/")
(:maintainer "Thierry Volpiatto" . "thievol@posteo.net") (:maintainer "Thierry Volpiatto" . "thievol@posteo.net")
(:authors (:authors
("Thierry Volpiatto" . "thievol@posteo.net")) ("Thierry Volpiatto" . "thievol@posteo.net"))
(:commit . "4ede199d5d1b7050486a0fdeecbbbf49fef31118"))]) (:commit . "0a9a1e32cf130d181b26e23919402c8c25f41996"))])
(highlight-parentheses . (highlight-parentheses .
[(2 1 1) [(2 1 1)
((emacs ((emacs
@ -926,20 +926,20 @@
(:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev")
(:commit . "151b20ba9d3ae39b88f91aecbab98bd5a5215f1a"))]) (:commit . "151b20ba9d3ae39b88f91aecbab98bd5a5215f1a"))])
(inf-ruby . (inf-ruby .
[(2 6 1) [(2 6 2)
((emacs ((emacs
(24 3))) (24 3)))
"Run a Ruby process in a buffer" tar "Run a Ruby process in a buffer" tar
((:url . "http://github.com/nonsequitur/inf-ruby") ((:url . "http://github.com/nonsequitur/inf-ruby")
(:keywords "languages" "ruby") (:keywords "languages" "ruby")
(:maintainer "Yukihiro Matsumoto") (:maintainer "Dmitry Gutov" . "dgutov@yandex.ru")
(:authors (:authors
("Yukihiro Matsumoto") ("Yukihiro Matsumoto")
("Nobuyoshi Nakada") ("Nobuyoshi Nakada")
("Cornelius Mika" . "cornelius.mika@gmail.com") ("Cornelius Mika" . "cornelius.mika@gmail.com")
("Dmitry Gutov" . "dgutov@yandex.ru") ("Dmitry Gutov" . "dgutov@yandex.ru")
("Kyle Hargraves" . "pd@krh.me")) ("Kyle Hargraves" . "pd@krh.me"))
(:commit . "4ddf6b3889004156a224e061c78357fa8936777a"))]) (:commit . "eb7bf95d5b03bdb9b28647c89ea0a73e35fe0ad1"))])
(inkpot-theme . (inkpot-theme .
[(0 1) [(0 1)
((emacs ((emacs
@ -1085,23 +1085,24 @@
(:authors (:authors
("Christoph Paulik" . "cpaulik@gmail.com")))]) ("Christoph Paulik" . "cpaulik@gmail.com")))])
(mentor . (mentor .
[(0 3 5) [(0 5)
((emacs ((emacs
(25 1)) (25 1))
(xml-rpc (xml-rpc
(1 6 15)) (1 6 15))
(seq (seq
(1 11)) (1 11))
(cl-lib
(0 5))
(async (async
(1 9 3))) (1 9 3))
(url-scgi
(0 7)))
"Frontend for the rTorrent bittorrent client" tar "Frontend for the rTorrent bittorrent client" tar
((:keywords "comm" "processes" "bittorrent") ((:url . "https://github.com/skangas/mentor")
(:keywords "comm" "processes" "bittorrent")
(:maintainer "Stefan Kangas" . "stefankangas@gmail.com") (:maintainer "Stefan Kangas" . "stefankangas@gmail.com")
(:authors (:authors
("Stefan Kangas" . "stefankangas@gmail.com")) ("Stefan Kangas" . "stefankangas@gmail.com"))
(:url . "https://elpa.nongnu.org/nongnu/mentor.html"))]) (:commit . "480602f2ec5467aa2418ee98b328fb85d3b58d0c"))])
(moe-theme . (moe-theme .
[(1 0 2) [(1 0 2)
nil "A colorful eye-candy theme. Moe, moe, kyun!" tar nil "A colorful eye-candy theme. Moe, moe, kyun!" tar
@ -1182,7 +1183,7 @@
("Campbell Barton" . "ideasman42@gmail.com")) ("Campbell Barton" . "ideasman42@gmail.com"))
(:commit . "3a1d67637ea4a6099a62de45842b8c5e4440ede4"))]) (:commit . "3a1d67637ea4a6099a62de45842b8c5e4440ede4"))])
(org-auto-tangle . (org-auto-tangle .
[(0 5 1) [(0 6 0)
((emacs ((emacs
(24 1)) (24 1))
(async (async
@ -1193,7 +1194,7 @@
(:maintainer "Yilkal Argaw" . "yilkalargawworkneh@gmail.com") (:maintainer "Yilkal Argaw" . "yilkalargawworkneh@gmail.com")
(:authors (:authors
("Yilkal Argaw" . "yilkalargawworkneh@gmail.com")) ("Yilkal Argaw" . "yilkalargawworkneh@gmail.com"))
(:commit . "bce665c79fc29f1e80f1eae7db7e91c56b0788fc"))]) (:commit . "2494a6f78c9db5311123abc7cad119851a29a55c"))])
(org-contrib . (org-contrib .
[(0 4) [(0 4)
((emacs ((emacs
@ -1237,7 +1238,7 @@
("Bastian Bechtold") ("Bastian Bechtold")
("Christian Schwarzgruber")))]) ("Christian Schwarzgruber")))])
(org-mime . (org-mime .
[(0 3 1) [(0 3 2)
((emacs ((emacs
(25 1))) (25 1)))
"org html export for text/html MIME emails" tar "org html export for text/html MIME emails" tar
@ -1246,7 +1247,7 @@
(:maintainer "Chen Bin" . "chenbin.sh@gmail.com") (:maintainer "Chen Bin" . "chenbin.sh@gmail.com")
(:authors (:authors
("Eric Schulte")) ("Eric Schulte"))
(:commit . "cf96f585c68ad14751a3f73d937cbfcb890171b9"))]) (:commit . "cc00afcf0291633324364c1c83bfe2833cfdc1bf"))])
(org-present . (org-present .
[(0 1) [(0 1)
((org ((org
@ -1342,6 +1343,16 @@
(:authors (:authors
("Jonathan Waltman" . "jonathan.waltman@gmail.com")) ("Jonathan Waltman" . "jonathan.waltman@gmail.com"))
(:commit . "5f2943fd70d94065496c52d21f05eb89028637cc"))]) (:commit . "5f2943fd70d94065496c52d21f05eb89028637cc"))])
(pcre2el .
[(1 11)
((emacs
(25 1)))
"regexp syntax converter" tar
((:url . "https://github.com/joddie/pcre2el")
(:maintainer "joddie <jonxfield at gmail.com>")
(:authors
("joddie <jonxfield at gmail.com>"))
(:commit . "3a59d133d1ed9fd941ddecc85ee2a8e32be3d267"))])
(pdf-tools . (pdf-tools .
[(1 0) [(1 0)
((emacs ((emacs
@ -1357,17 +1368,18 @@
(:authors (:authors
("Andreas Politz" . "politza@fh-trier.de")))]) ("Andreas Politz" . "politza@fh-trier.de")))])
(php-mode . (php-mode .
[(1 24 0) [(1 24 1)
((emacs ((emacs
(25 2))) (25 2)))
"Major mode for editing PHP code" tar "Major mode for editing PHP code" tar
((:url . "https://github.com/emacs-php/php-mode") ((:url . "https://github.com/emacs-php/php-mode")
(:keywords "languages" "php")
(:maintainer "USAMI Kenta" . "tadsan@zonu.me") (:maintainer "USAMI Kenta" . "tadsan@zonu.me")
(:authors (:authors
("Eric James Michael Ritz")) ("Eric James Michael Ritz"))
(:keywords "languages" "php"))]) (:commit . "ae3b0b184e096b8bd916516ae7db908dbb27ec1e"))])
(popon . (popon .
[(0 9) [(0 11)
((emacs ((emacs
(25 1))) (25 1)))
"\"Pop\" floating text \"on\" a window" tar "\"Pop\" floating text \"on\" a window" tar
@ -1376,7 +1388,7 @@
(:maintainer "Akib Azmain Turja" . "akib@disroot.org") (:maintainer "Akib Azmain Turja" . "akib@disroot.org")
(:authors (:authors
("Akib Azmain Turja" . "akib@disroot.org")) ("Akib Azmain Turja" . "akib@disroot.org"))
(:commit . "b5b370077111ae65f50f8a3dca76e7c270ff0743"))]) (:commit . "1ece1f531440b17e4921c30d574c7c30a4a9519d"))])
(popup . (popup .
[(0 5 9) [(0 5 9)
((emacs ((emacs
@ -1388,15 +1400,16 @@
(:authors (:authors
("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")))]) ("Tomohiro Matsuyama" . "m2ym.pub@gmail.com")))])
(projectile . (projectile .
[(2 5 0) [(2 6 0)
((emacs ((emacs
(25 1))) (25 1)))
"Manage and navigate projects in Emacs easily" tar "Manage and navigate projects in Emacs easily" tar
((:url . "https://github.com/bbatsov/projectile") ((:url . "https://github.com/bbatsov/projectile")
(:keywords "project" "convenience")
(:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev") (:maintainer "Bozhidar Batsov" . "bozhidar@batsov.dev")
(:authors (:authors
("Bozhidar Batsov" . "bozhidar@batsov.dev")) ("Bozhidar Batsov" . "bozhidar@batsov.dev"))
(:keywords "project" "convenience"))]) (:commit . "e3bae8c91bb69c501dcc2e74f9ea14e89cf0a09c"))])
(proof-general . (proof-general .
[(4 5) [(4 5)
((emacs ((emacs
@ -1455,6 +1468,16 @@
(:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>") (:maintainer "Takafumi Arakaki <aka.tkf at gmail.com>")
(:authors (:authors
("Takafumi Arakaki <aka.tkf at gmail.com>")))]) ("Takafumi Arakaki <aka.tkf at gmail.com>")))])
(rfc-mode .
[(1 3 0)
((emacs
(25 1)))
"RFC document browser and viewer" tar
((:url . "https://github.com/galdor/rfc-mode")
(:maintainer "Nicolas Martyanoff" . "khaelin@gmail.com")
(:authors
("Nicolas Martyanoff" . "khaelin@gmail.com"))
(:commit . "02546beecf4c495940885e7b7b911d84b12646ef"))])
(rubocop . (rubocop .
[(0 6 0) [(0 6 0)
((emacs ((emacs
@ -1551,13 +1574,14 @@
((:url . "https://github.com/joaotavora/sly") ((:url . "https://github.com/joaotavora/sly")
(:keywords "languages" "lisp" "sly"))]) (:keywords "languages" "lisp" "sly"))])
(smartparens . (smartparens .
[(4 7 1) [(1 11 0)
nil "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar nil "Automatic insertion, wrapping and paredit-like navigation with user defined pairs." tar
((:url . "https://github.com/Fuco1/smartparens") ((:url . "https://github.com/Fuco1/smartparens")
(:keywords "abbrev" "convenience" "editing")
(:maintainer "Matus Goljer" . "matus.goljer@gmail.com") (:maintainer "Matus Goljer" . "matus.goljer@gmail.com")
(:authors (:authors
("Matus Goljer" . "matus.goljer@gmail.com")) ("Matus Goljer" . "matus.goljer@gmail.com"))
(:keywords "abbrev" "convenience" "editing"))]) (:commit . "4873352b5d0a1c5142658122de1b6950b8fe7e4d"))])
(solarized-theme . (solarized-theme .
[(1 3 0) [(1 3 0)
((emacs ((emacs
@ -1609,7 +1633,7 @@
("John Olsson" . "john@cryon.se")) ("John Olsson" . "john@cryon.se"))
(:commit . "2d5acd143a153e16372d59000e57d76291ab81dd"))]) (:commit . "2d5acd143a153e16372d59000e57d76291ab81dd"))])
(subed . (subed .
[(1 0 7) [(1 0 18)
((emacs ((emacs
(25 1))) (25 1)))
"A major mode for editing subtitles" tar "A major mode for editing subtitles" tar
@ -1618,7 +1642,18 @@
(:maintainer "Sacha Chua" . "sacha@sachachua.com") (:maintainer "Sacha Chua" . "sacha@sachachua.com")
(:authors (:authors
("Random User")) ("Random User"))
(:commit . "eefe94f308d7006a498b17fc9acf01790b793bcd"))]) (:commit . "fcd2299f365eb37ced4a838bd39aaefd6c6ac576"))])
(sweeprolog .
[(0 8 3)
((emacs
(28 1)))
"Embedded SWI-Prolog" tar
((:url . "https://git.sr.ht/~eshel/sweep")
(:keywords "prolog" "languages" "extensions")
(:maintainer "Eshel Yaron" . "~eshel/dev@lists.sr.ht")
(:authors
("Eshel Yaron" . "me@eshelyaron.com"))
(:commit . "8a532f318320f5a62a6295edc35a21cd45aa69a1"))])
(swift-mode . (swift-mode .
[(8 6 0) [(8 6 0)
((emacs ((emacs
@ -1636,7 +1671,7 @@
("Arthur Evstifeev" . "lod@pisem.net")) ("Arthur Evstifeev" . "lod@pisem.net"))
(:commit . "cdd194cbadcee724a9813da386f0a612082b1ab1"))]) (:commit . "cdd194cbadcee724a9813da386f0a612082b1ab1"))])
(swsw . (swsw .
[(2 2) [(2 3)
((emacs ((emacs
(27 1))) (27 1)))
"Simple window switching" tar "Simple window switching" tar
@ -1645,7 +1680,7 @@
(:maintainer "swsw Mailing List" . "~dsemy/swsw-devel@lists.sr.ht") (:maintainer "swsw Mailing List" . "~dsemy/swsw-devel@lists.sr.ht")
(:authors (:authors
("Daniel Semyonov" . "daniel@dsemy.com")) ("Daniel Semyonov" . "daniel@dsemy.com"))
(:commit . "5faeffc16329a4a4946780c880c343a9fb95deb4"))]) (:commit . "f41a36677737786d0f651f2d0ba5eb23d63c8ab5"))])
(symbol-overlay . (symbol-overlay .
[(4 1) [(4 1)
((emacs ((emacs
@ -1720,15 +1755,27 @@
(:maintainer "Sergei Nosov <sergei.nosov [at] gmail.com>") (:maintainer "Sergei Nosov <sergei.nosov [at] gmail.com>")
(:authors (:authors
("Sergei Nosov <sergei.nosov [at] gmail.com>")))]) ("Sergei Nosov <sergei.nosov [at] gmail.com>")))])
(treeview .
[(1 1 1)
((emacs
(24 4)))
"A generic tree navigation library" tar
((:url . "https://github.com/tilmanrassy/emacs-treeview")
(:keywords "lisp" "tools" "internal" "convenience")
(:maintainer "Tilman Rassy" . "tilman.rassy@googlemail.com")
(:authors
("Tilman Rassy" . "tilman.rassy@googlemail.com"))
(:commit . "b68f77bf102b289e7b0e97f767bb7ffff9a5835b"))])
(tuareg . (tuareg .
[(2 3 0) [(3 0 1)
((caml ((emacs
(3 12 0 1)) (26 3))
(emacs (caml
(24 4))) (4 8)))
"OCaml mode for Emacs." tar "OCaml mode" tar
((:url . "https://github.com/ocaml/tuareg") ((:url . "https://github.com/ocaml/tuareg")
(:maintainer "Albert Cohen" . "Albert.Cohen@inria.fr") (:keywords "ocaml" "languages")
(:maintainer "Christophe Troestler" . "Christophe.Troestler@umons.ac.be")
(:authors (:authors
("Albert Cohen" . "Albert.Cohen@inria.fr") ("Albert Cohen" . "Albert.Cohen@inria.fr")
("Sam Steingold" . "sds@gnu.org") ("Sam Steingold" . "sds@gnu.org")
@ -1736,7 +1783,7 @@
("Till Varoquaux" . "till@pps.jussieu.fr") ("Till Varoquaux" . "till@pps.jussieu.fr")
("Sean McLaughlin" . "seanmcl@gmail.com") ("Sean McLaughlin" . "seanmcl@gmail.com")
("Stefan Monnier" . "monnier@iro.umontreal.ca")) ("Stefan Monnier" . "monnier@iro.umontreal.ca"))
(:keywords "ocaml" "languages"))]) (:commit . "4d94293cc5a7bba6cd043e29968719ce597d65f5"))])
(typescript-mode . (typescript-mode .
[(0 4) [(0 4)
((emacs ((emacs
@ -1803,7 +1850,7 @@
("Joost Kremers" . "joostkremers@fastmail.fm")) ("Joost Kremers" . "joostkremers@fastmail.fm"))
(:commit . "afaad5ac6b15cdf9f362662538e35d48578e218a"))]) (:commit . "afaad5ac6b15cdf9f362662538e35d48578e218a"))])
(web-mode . (web-mode .
[(17 2 3) [(17 3 3)
((emacs ((emacs
(23 1))) (23 1)))
"major mode for editing web templates" tar "major mode for editing web templates" tar
@ -1812,7 +1859,7 @@
(:maintainer "François-Xavier Bois" . "fxbois@gmail.com") (:maintainer "François-Xavier Bois" . "fxbois@gmail.com")
(:authors (:authors
("François-Xavier Bois")) ("François-Xavier Bois"))
(:commit . "7b5459f58c381f31eed257480b000a9a46209094"))]) (:commit . "4b8a695825fda366927894e498421f35fce1cbb9"))])
(webpaste . (webpaste .
[(3 2 2) [(3 2 2)
((emacs ((emacs
@ -1866,7 +1913,7 @@
(:authors (:authors
("Le Wang")))]) ("Le Wang")))])
(xah-fly-keys . (xah-fly-keys .
[(17 17 20220709145456) [(22 0 20221031102959)
((emacs ((emacs
(24 1))) (24 1)))
"ergonomic modal keybinding minor mode." tar "ergonomic modal keybinding minor mode." tar
@ -1875,13 +1922,14 @@
(:maintainer "Xah Lee" . "xah@xahlee.org") (:maintainer "Xah Lee" . "xah@xahlee.org")
(:authors (:authors
("Xah Lee ( http://xahlee.info/ )")) ("Xah Lee ( http://xahlee.info/ )"))
(:commit . "2383b8b546fe6e1db4b86f4122055110ee4775f4"))]) (:commit . "644dc9a4e254264560019578f8b84bc4523de8de"))])
(xml-rpc . (xml-rpc .
[(1 6 15) [(1 6 16)
nil "An elisp implementation of clientside XML-RPC" tar nil "An elisp implementation of clientside XML-RPC" tar
((:url . "http://github.com/xml-rpc-el/xml-rpc-el") ((:url . "http://github.com/xml-rpc-el/xml-rpc-el")
(:keywords "xml" "rpc" "network") (:keywords "xml" "rpc" "network")
(:maintainer "Mark A. Hershberger" . "mah@everybody.org"))]) (:maintainer "Mark A. Hershberger" . "mah@everybody.org")
(:commit . "fc0c82eb5c8a5d5d837a21bca50f7c8169165f03"))])
(yaml-mode . (yaml-mode .
[(0 0 15) [(0 0 15)
((emacs ((emacs

View File

@ -1 +1 @@
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-08-04T05:05:06-0400 using RSA Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-11-07T17:05:05-0500 using RSA

View File

@ -1,211 +0,0 @@
;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*-
;; Copyright (C) 2014-2019 Free Software Foundation, Inc.
;; Authors: John Wiegley <jwiegley@gmail.com>
;; Thierry Volpiatto <thievol@posteo.net>
;; Keywords: dired async byte-compile
;; X-URL: https://github.com/jwiegley/dired-async
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; This package provide the `async-byte-recompile-directory' function
;; which allows, as the name says to recompile a directory outside of
;; your running emacs.
;; The benefit is your files will be compiled in a clean environment without
;; the old *.el files loaded.
;; Among other things, this fix a bug in package.el which recompile
;; the new files in the current environment with the old files loaded, creating
;; errors in most packages after upgrades.
;;
;; NB: This package is advicing the function `package--compile'.
;;; Code:
(require 'cl-lib)
(require 'async)
(require 'bytecomp)
(declare-function package-desc-name "package.el")
(declare-function package-desc-dir "package.el")
(defcustom async-bytecomp-allowed-packages 'all
"Packages in this list will be compiled asynchronously by `package--compile'.
All the dependencies of these packages will be compiled async too,
so no need to add dependencies to this list.
The value of this variable can also be the symbol `all' (default), in this case
all packages are always compiled asynchronously."
:group 'async
:type '(choice
(const :tag "All packages" all)
(repeat symbol)))
(defvar async-byte-compile-log-file
(concat user-emacs-directory "async-bytecomp.log"))
(defvar async-bytecomp-load-variable-regexp "\\`load-path\\'"
"The variable used by `async-inject-variables' when (re)compiling async.")
;;;###autoload
(defun async-byte-recompile-directory (directory &optional quiet)
"Compile all *.el files in DIRECTORY asynchronously.
All *.elc files are systematically deleted before proceeding."
(cl-loop with dir = (directory-files directory t "\\.elc\\'")
unless dir return nil
for f in dir
when (file-exists-p f) do (delete-file f))
;; Ensure async is reloaded when async.elc is deleted.
;; This happen when recompiling its own directory.
(load "async")
(let ((call-back
(lambda (&optional _ignore)
(if (file-exists-p async-byte-compile-log-file)
(let ((buf (get-buffer-create byte-compile-log-buffer))
(n 0))
(with-current-buffer buf
(goto-char (point-max))
(let ((inhibit-read-only t))
(insert-file-contents async-byte-compile-log-file)
(compilation-mode))
(display-buffer buf)
(delete-file async-byte-compile-log-file)
(unless quiet
(save-excursion
(goto-char (point-min))
(while (re-search-forward "^.*:Error:" nil t)
(cl-incf n)))
(if (> n 0)
(message "Failed to compile %d files in directory `%s'" n directory)
(message "Directory `%s' compiled asynchronously with warnings" directory)))))
(unless quiet
(message "Directory `%s' compiled asynchronously with success" directory))))))
(async-start
`(lambda ()
(require 'bytecomp)
,(async-inject-variables async-bytecomp-load-variable-regexp)
(let ((default-directory (file-name-as-directory ,directory))
error-data)
(add-to-list 'load-path default-directory)
(byte-recompile-directory ,directory 0 t)
(when (get-buffer byte-compile-log-buffer)
(setq error-data (with-current-buffer byte-compile-log-buffer
(buffer-substring-no-properties (point-min) (point-max))))
(unless (string= error-data "")
(with-temp-file ,async-byte-compile-log-file
(erase-buffer)
(insert error-data))))))
call-back)
(unless quiet (message "Started compiling asynchronously directory %s" directory))))
(defvar package-archive-contents)
(defvar package-alist)
(declare-function package-desc-reqs "package.el" (cl-x))
(defun async-bytecomp--get-package-deps (pkgs)
;; Same as `package--get-deps' but parse instead `package-archive-contents'
;; because PKG is not already installed and not present in `package-alist'.
;; However fallback to `package-alist' in case PKG no more present
;; in `package-archive-contents' due to modification to `package-archives'.
;; See issue #58.
(let ((seen '()))
(while pkgs
(let ((pkg (pop pkgs)))
(unless (memq pkg seen)
(let ((pkg-desc (cadr (or (assq pkg package-archive-contents)
(assq pkg package-alist)))))
(when pkg-desc
(push pkg seen)
(setq pkgs (append (mapcar #'car (package-desc-reqs pkg-desc))
pkgs)))))))
seen))
(defun async--package-compile (orig-fun pkg-desc &rest args)
(let ((cur-package (package-desc-name pkg-desc))
(pkg-dir (package-desc-dir pkg-desc)))
(if (or (member async-bytecomp-allowed-packages '(t all (all)))
(memq cur-package (async-bytecomp--get-package-deps
async-bytecomp-allowed-packages)))
(progn
;; FIXME: Why do we use (eq cur-package 'async) once
;; and (string= cur-package "async") afterwards?
(when (eq cur-package 'async)
(fmakunbound 'async-byte-recompile-directory))
;; Add to `load-path' the latest version of async and
;; reload it when reinstalling async.
(when (string= cur-package "async")
(cl-pushnew pkg-dir load-path)
(load "async-bytecomp"))
;; `async-byte-recompile-directory' will add directory
;; as needed to `load-path'.
(async-byte-recompile-directory (package-desc-dir pkg-desc) t))
(apply orig-fun pkg-desc args))))
;;;###autoload
(define-minor-mode async-bytecomp-package-mode
"Byte compile asynchronously packages installed with package.el.
Async compilation of packages can be controlled by
`async-bytecomp-allowed-packages'."
:group 'async
:global t
(if async-bytecomp-package-mode
(advice-add 'package--compile :around #'async--package-compile)
(advice-remove 'package--compile #'async--package-compile)))
;;;###autoload
(defun async-byte-compile-file (file)
"Byte compile Lisp code FILE asynchronously.
Same as `byte-compile-file' but asynchronous."
(interactive "fFile: ")
(let ((call-back
(lambda (&optional _ignore)
(let ((bn (file-name-nondirectory file)))
(if (file-exists-p async-byte-compile-log-file)
(let ((buf (get-buffer-create byte-compile-log-buffer))
start)
(with-current-buffer buf
(goto-char (setq start (point-max)))
(let ((inhibit-read-only t))
(insert-file-contents async-byte-compile-log-file)
(compilation-mode))
(display-buffer buf)
(delete-file async-byte-compile-log-file)
(save-excursion
(goto-char start)
(if (re-search-forward "^.*:Error:" nil t)
(message "Failed to compile `%s'" bn)
(message "`%s' compiled asynchronously with warnings" bn)))))
(message "`%s' compiled asynchronously with success" bn))))))
(async-start
`(lambda ()
(require 'bytecomp)
,(async-inject-variables async-bytecomp-load-variable-regexp)
(let ((default-directory ,(file-name-directory file)))
(add-to-list 'load-path default-directory)
(byte-compile-file ,file)
(when (get-buffer byte-compile-log-buffer)
(setq error-data (with-current-buffer byte-compile-log-buffer
(buffer-substring-no-properties (point-min) (point-max))))
(unless (string= error-data "")
(with-temp-file ,async-byte-compile-log-file
(erase-buffer)
(insert error-data))))))
call-back)))
(provide 'async-bytecomp)
;;; async-bytecomp.el ends here

View File

@ -1,12 +0,0 @@
(define-package "async" "20220630.57" "Asynchronous processing in Emacs"
'((emacs "24.4"))
:commit "7f4ed1e8b44e0b88eadb2efeeaf97f32c38f14c4" :authors
'(("John Wiegley" . "jwiegley@gmail.com"))
:maintainer
'("Thierry Volpiatto" . "thievol@posteo.net")
:keywords
'("async")
:url "https://github.com/jwiegley/emacs-async")
;; Local Variables:
;; no-byte-compile: t
;; End:

View File

@ -1,439 +0,0 @@
;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*-
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
;; Author: John Wiegley <jwiegley@gmail.com>
;; Maintainer: Thierry Volpiatto <thievol@posteo.net>
;; Created: 18 Jun 2012
;; Version: 1.9.5
;; Package-Requires: ((emacs "24.4"))
;; Keywords: async
;; X-URL: https://github.com/jwiegley/emacs-async
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Adds the ability to call asynchronous functions and process with ease. See
;; the documentation for `async-start' and `async-start-process'.
;;; Code:
(eval-when-compile (require 'cl-lib))
(defgroup async nil
"Simple asynchronous processing in Emacs"
:group 'emacs)
(defcustom async-variables-noprops-function #'async--purecopy
"Default function to remove text properties in variables."
:type 'function)
(defvar async-debug nil)
(defvar async-send-over-pipe t)
(defvar async-in-child-emacs nil)
(defvar async-callback nil)
(defvar async-callback-for-process nil)
(defvar async-callback-value nil)
(defvar async-callback-value-set nil)
(defvar async-current-process nil)
(defvar async--procvar nil)
;; For emacs<29 (only exists in emacs-29+).
(defvar print-symbols-bare)
(defun async--purecopy (object)
"Remove text properties in OBJECT.
Argument OBJECT may be a list or a string, if anything else it
is returned unmodified."
(cond ((stringp object)
(substring-no-properties object))
((consp object)
(cl-loop for elm in object
;; A string.
if (stringp elm)
collect (substring-no-properties elm)
else
;; Proper lists.
if (and (consp elm) (null (cdr (last elm))))
collect (async--purecopy elm)
else
;; Dotted lists.
;; We handle here only dotted list where car and cdr
;; are atoms i.e. (x . y) and not (x . (x . y)) or
;; (x . (x y)) which should fit most cases.
if (and (consp elm) (cdr (last elm)))
collect (let ((key (car elm))
(val (cdr elm)))
(cons (if (stringp key)
(substring-no-properties key)
key)
(if (stringp val)
(substring-no-properties val)
val)))
else
collect elm))
(t object)))
(defun async-inject-variables
(include-regexp &optional predicate exclude-regexp noprops)
"Return a `setq' form that replicates part of the calling environment.
It sets the value for every variable matching INCLUDE-REGEXP and
also PREDICATE. It will not perform injection for any variable
matching EXCLUDE-REGEXP (if present) or representing a `syntax-table'
i.e. ending by \"-syntax-table\".
When NOPROPS is non nil it tries to strip out text properties of each
variable's value with `async-variables-noprops-function'.
It is intended to be used as follows:
(async-start
\\=`(lambda ()
(require \\='smtpmail)
(with-temp-buffer
(insert ,(buffer-substring-no-properties (point-min) (point-max)))
;; Pass in the variable environment for smtpmail
,(async-inject-variables \"\\\\=`\\(smtpmail\\|\\(user-\\)?mail\\)-\")
(smtpmail-send-it)))
\\='ignore)"
`(setq
,@(let (bindings)
(mapatoms
(lambda (sym)
(let* ((sname (and (boundp sym) (symbol-name sym)))
(value (and sname (symbol-value sym))))
(when (and sname
(or (null include-regexp)
(string-match include-regexp sname))
(or (null exclude-regexp)
(not (string-match exclude-regexp sname)))
(not (string-match "-syntax-table\\'" sname)))
(unless (or (stringp value)
(memq value '(nil t))
(numberp value)
(vectorp value))
(setq value `(quote ,value)))
(when noprops
(setq value (funcall async-variables-noprops-function
value)))
(when (or (null predicate)
(funcall predicate sym))
(setq bindings (cons value bindings)
bindings (cons sym bindings)))))))
bindings)))
(defalias 'async-inject-environment 'async-inject-variables)
(defun async-handle-result (func result buf)
(if (null func)
(progn
(set (make-local-variable 'async-callback-value) result)
(set (make-local-variable 'async-callback-value-set) t))
(unwind-protect
(if (and (listp result)
(eq 'async-signal (nth 0 result)))
(signal (car (nth 1 result))
(cdr (nth 1 result)))
(funcall func result))
(unless async-debug
(kill-buffer buf)))))
(defun async-when-done (proc &optional _change)
"Process sentinel used to retrieve the value from the child process."
(when (eq 'exit (process-status proc))
(with-current-buffer (process-buffer proc)
(let ((async-current-process proc))
(if (= 0 (process-exit-status proc))
(if async-callback-for-process
(if async-callback
(prog1
(funcall async-callback proc)
(unless async-debug
(kill-buffer (current-buffer))))
(set (make-local-variable 'async-callback-value) proc)
(set (make-local-variable 'async-callback-value-set) t))
;; Maybe strip out unreadable "#"; They are replaced by
;; empty string unless they are prefixing a special
;; object like a marker. See issue #145.
(goto-char (point-min))
(save-excursion
;; Transform markers in list like
;; (marker (moves after insertion) at 2338 in
;; test\.org) so that remap text properties function
;; can parse it to restitute marker.
(while (re-search-forward "#<\\([^>]*\\)>" nil t)
(replace-match (concat "(" (match-string 1) ")") t t)))
(while (re-search-forward "#(" nil t)
(replace-match "(" t t))
(goto-char (point-max))
(backward-sexp)
(async-handle-result async-callback (read (current-buffer))
(current-buffer)))
(set (make-local-variable 'async-callback-value)
(list 'error
(format "Async process '%s' failed with exit code %d"
(process-name proc) (process-exit-status proc))))
(set (make-local-variable 'async-callback-value-set) t))))))
(defun async--receive-sexp (&optional stream)
;; FIXME: Why use `utf-8-auto' instead of `utf-8-unix'? This is
;; a communication channel over which we have complete control,
;; so we get to choose exactly which encoding and EOL we use, isn't it?
(let ((sexp (decode-coding-string (base64-decode-string (read stream))
'utf-8-auto))
;; Parent expects UTF-8 encoded text.
(coding-system-for-write 'utf-8-auto))
(if async-debug
(message "Received sexp {{{%s}}}" (pp-to-string sexp)))
(setq sexp (read sexp))
(if async-debug
(message "Read sexp {{{%s}}}" (pp-to-string sexp)))
(eval sexp t)))
(defun async--insert-sexp (sexp)
(let (print-level
print-length
(print-escape-nonascii t)
(print-circle t)
;; Fix bug#153 in emacs-29 with symbol's positions.
(print-symbols-bare t))
(prin1 sexp (current-buffer))
;; Just in case the string we're sending might contain EOF
(encode-coding-region (point-min) (point-max) 'utf-8-auto)
(base64-encode-region (point-min) (point-max) t)
(goto-char (point-min)) (insert ?\")
(goto-char (point-max)) (insert ?\" ?\n)))
(defun async--transmit-sexp (process sexp)
(with-temp-buffer
(if async-debug
(message "Transmitting sexp {{{%s}}}" (pp-to-string sexp)))
(async--insert-sexp sexp)
(process-send-region process (point-min) (point-max))))
(defun async-batch-invoke ()
"Called from the child Emacs process' command line."
;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent
;; process expects.
(let ((coding-system-for-write 'utf-8-auto))
(setq async-in-child-emacs t
debug-on-error async-debug)
(if debug-on-error
(prin1 (funcall
(async--receive-sexp (unless async-send-over-pipe
command-line-args-left))))
(condition-case err
(prin1 (funcall
(async--receive-sexp (unless async-send-over-pipe
command-line-args-left))))
(error
(prin1 (list 'async-signal err)))))))
(defun async-ready (future)
"Query a FUTURE to see if it is ready.
I.e., if no blocking would result from a call to `async-get' on that FUTURE."
(and (memq (process-status future) '(exit signal))
(let ((buf (process-buffer future)))
(if (buffer-live-p buf)
(with-current-buffer buf
async-callback-value-set)
t))))
(defun async-wait (future)
"Wait for FUTURE to become ready."
(while (not (async-ready future))
(sleep-for 0.05)))
(defun async-get (future)
"Get the value from process FUTURE when it is ready.
FUTURE is returned by `async-start' or `async-start-process' when
its FINISH-FUNC is nil."
(and future (async-wait future))
(let ((buf (process-buffer future)))
(when (buffer-live-p buf)
(with-current-buffer buf
(async-handle-result
#'identity async-callback-value (current-buffer))))))
(defun async-message-p (value)
"Return non-nil of VALUE is an async.el message packet."
(and (listp value)
(plist-get value :async-message)))
(defun async-send (&rest args)
"Send the given messages to the asychronous Emacs PROCESS."
(let ((args (append args '(:async-message t))))
(if async-in-child-emacs
(if async-callback
(funcall async-callback args))
(async--transmit-sexp (car args) (list 'quote (cdr args))))))
(defun async-receive ()
"Send the given messages to the asychronous Emacs PROCESS."
(async--receive-sexp))
;;;###autoload
(defun async-start-process (name program finish-func &rest program-args)
"Start the executable PROGRAM asynchronously named NAME. See `async-start'.
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
process object when done. If FINISH-FUNC is nil, the future
object will return the process object when the program is
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
working directory."
(let* ((buf (generate-new-buffer (concat "*" name "*")))
(proc (let ((process-connection-type nil))
(apply #'start-process name buf program program-args))))
(with-current-buffer buf
(set (make-local-variable 'async-callback) finish-func)
(set-process-sentinel proc #'async-when-done)
(unless (string= name "emacs")
(set (make-local-variable 'async-callback-for-process) t))
proc)))
(defvar async-quiet-switch "-Q"
"The Emacs parameter to use to call emacs without config.
Can be one of \"-Q\" or \"-q\".
Default is \"-Q\" but it is sometimes useful to use \"-q\" to have a
enhanced config or some more variables loaded.")
;;;###autoload
(defun async-start (start-func &optional finish-func)
"Execute START-FUNC (often a lambda) in a subordinate Emacs process.
When done, the return value is passed to FINISH-FUNC. Example:
(async-start
;; What to do in the child process
(lambda ()
(message \"This is a test\")
(sleep-for 3)
222)
;; What to do when it finishes
(lambda (result)
(message \"Async process done, result should be 222: %s\"
result)))
If FINISH-FUNC is nil or missing, a future is returned that can
be inspected using `async-get', blocking until the value is
ready. Example:
(let ((proc (async-start
;; What to do in the child process
(lambda ()
(message \"This is a test\")
(sleep-for 3)
222))))
(message \"I'm going to do some work here\") ;; ....
(message \"Waiting on async process, result should be 222: %s\"
(async-get proc)))
If you don't want to use a callback, and you don't care about any
return value from the child process, pass the `ignore' symbol as
the second argument (if you don't, and never call `async-get', it
will leave *emacs* process buffers hanging around):
(async-start
(lambda ()
(delete-file \"a remote file on a slow link\" nil))
\\='ignore)
Special case:
If the output of START-FUNC is a string with properties
e.g. (buffer-string) RESULT will be transformed in a list where the
car is the string itself (without props) and the cdr the rest of
properties, this allows using in FINISH-FUNC the string without
properties and then apply the properties in cdr to this string (if
needed).
Properties handling special objects like markers are returned as
list to allow restoring them later.
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
Note: Even when FINISH-FUNC is present, a future is still
returned except that it yields no value (since the value is
passed to FINISH-FUNC). Call `async-get' on such a future always
returns nil. It can still be useful, however, as an argument to
`async-ready' or `async-wait'."
(let ((sexp start-func)
;; Subordinate Emacs will send text encoded in UTF-8.
(coding-system-for-read 'utf-8-auto))
(setq async--procvar
(async-start-process
"emacs" (file-truename
(expand-file-name invocation-name
invocation-directory))
finish-func
async-quiet-switch "-l"
;; Using `locate-library' ensure we use the right file
;; when the .elc have been deleted.
(locate-library "async")
"-batch" "-f" "async-batch-invoke"
(if async-send-over-pipe
"<none>"
(with-temp-buffer
(async--insert-sexp (list 'quote sexp))
(buffer-string)))))
(if async-send-over-pipe
(async--transmit-sexp async--procvar (list 'quote sexp)))
async--procvar))
(defmacro async-sandbox(func)
"Evaluate FUNC in a separate Emacs process, synchronously."
`(async-get (async-start ,func)))
(defun async--fold-left (fn forms bindings)
(let ((res forms))
(dolist (binding bindings)
(setq res (funcall fn res
(if (listp binding)
binding
(list binding)))))
res))
(defmacro async-let (bindings &rest forms)
"Implements `let', but each binding is established asynchronously.
For example:
(async-let ((x (foo))
(y (bar)))
(message \"%s %s\" x y))
expands to ==>
(async-start (foo)
(lambda (x)
(async-start (bar)
(lambda (y)
(message \"%s %s\" x y)))))"
(declare (indent 1))
(async--fold-left
(lambda (acc binding)
(let ((fun (pcase (cadr binding)
((and (pred functionp) f) f)
(f `(lambda () ,f)))))
`(async-start ,fun
(lambda (,(car binding))
,acc))))
`(progn ,@forms)
(reverse bindings)))
(provide 'async)
;;; async.el ends here

View File

@ -1,385 +0,0 @@
;;; dired-async.el --- Asynchronous dired actions -*- lexical-binding: t -*-
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
;; Authors: John Wiegley <jwiegley@gmail.com>
;; Thierry Volpiatto <thievol@posteo.net>
;; Keywords: dired async network
;; X-URL: https://github.com/jwiegley/dired-async
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; This file provide a redefinition of `dired-create-file' function,
;; performs copies, moves and all what is handled by `dired-create-file'
;; in the background using a slave Emacs process,
;; by means of the async.el module.
;; To use it, put this in your .emacs:
;; (dired-async-mode 1)
;; This will enable async copy/rename etc...
;; in dired and helm.
;;; Code:
(require 'cl-lib)
(require 'dired-aux)
(require 'async)
(eval-when-compile
(defvar async-callback))
(defgroup dired-async nil
"Copy rename files asynchronously from dired."
:group 'dired)
(defcustom dired-async-env-variables-regexp
"\\`\\(tramp-\\(default\\|connection\\|remote\\)\\|ange-ftp\\)-.*"
"Variables matching this regexp will be loaded on Child Emacs."
:type 'regexp)
(defcustom dired-async-message-function 'dired-async-mode-line-message
"Function to use to notify result when operation finish.
Should take same args as `message'."
:type 'function)
(defcustom dired-async-log-file "/tmp/dired-async.log"
"File use to communicate errors from Child Emacs to host Emacs."
:type 'string)
(defcustom dired-async-mode-lighter '(:eval
(when (eq major-mode 'dired-mode)
" Async"))
"Mode line lighter used for `dired-async-mode'."
:risky t
:type 'sexp)
(defface dired-async-message
'((t (:foreground "yellow")))
"Face used for mode-line message.")
(defface dired-async-failures
'((t (:foreground "red")))
"Face used for mode-line message.")
(defface dired-async-mode-message
'((t (:foreground "Gold")))
"Face used for `dired-async--modeline-mode' lighter.")
(define-minor-mode dired-async--modeline-mode
"Notify mode-line that an async process run."
:global t
:lighter (:eval (propertize (format " [%s Async job(s) running]"
(length (dired-async-processes)))
'face 'dired-async-mode-message))
(unless dired-async--modeline-mode
(let ((visible-bell t)) (ding))))
(defun dired-async-mode-line-message (text face &rest args)
"Notify end of operation in `mode-line'."
(message nil)
(let ((mode-line-format (concat
" " (propertize
(if args
(apply #'format text args)
text)
'face face))))
(force-mode-line-update)
(sit-for 3)
(force-mode-line-update)))
(defun dired-async-processes ()
(cl-loop for p in (process-list)
when (cl-loop for c in (process-command p) thereis
(string= "async-batch-invoke" c))
collect p))
(defun dired-async-kill-process ()
(interactive)
(let* ((processes (dired-async-processes))
(proc (car (last processes))))
(and proc (delete-process proc))
(unless (> (length processes) 1)
(dired-async--modeline-mode -1))))
(defun dired-async-after-file-create (total operation failures skipped)
"Callback function used for operation handled by `dired-create-file'."
(unless (dired-async-processes)
;; Turn off mode-line notification
;; only when last process end.
(dired-async--modeline-mode -1))
(when operation
(if (file-exists-p dired-async-log-file)
(progn
(pop-to-buffer (get-buffer-create dired-log-buffer))
(goto-char (point-max))
(setq inhibit-read-only t)
(insert "Error: ")
(insert-file-contents dired-async-log-file)
(special-mode)
(shrink-window-if-larger-than-buffer)
(delete-file dired-async-log-file))
(run-with-timer
0.1 nil
(lambda ()
;; First send error messages.
(cond (failures
(funcall dired-async-message-function
"%s failed for %d of %d file%s -- See *Dired log* buffer"
'dired-async-failures
(car operation) (length failures)
total (dired-plural-s total)))
(skipped
(funcall dired-async-message-function
"%s: %d of %d file%s skipped -- See *Dired log* buffer"
'dired-async-failures
(car operation) (length skipped) total
(dired-plural-s total))))
(when dired-buffers
(cl-loop for (_f . b) in dired-buffers
when (buffer-live-p b)
do (with-current-buffer b
(when (and (not (file-remote-p default-directory nil t))
(file-exists-p default-directory))
(revert-buffer nil t)))))
;; Finally send the success message.
(funcall dired-async-message-function
"Asynchronous %s of %s on %s file%s done"
'dired-async-message
(car operation) (cadr operation)
total (dired-plural-s total)))))))
(defun dired-async-maybe-kill-ftp ()
"Return a form to kill ftp process in child emacs."
(quote
(progn
(require 'cl-lib)
(let ((buf (cl-loop for b in (buffer-list)
thereis (and (string-match
"\\`\\*ftp.*"
(buffer-name b)) b))))
(when buf (kill-buffer buf))))))
(defvar overwrite-query)
(defun dired-async-create-files (file-creator operation fn-list name-constructor
&optional _marker-char)
"Same as `dired-create-files' but asynchronous.
See `dired-create-files' for the behavior of arguments."
(setq overwrite-query nil)
(let ((total (length fn-list))
failures async-fn-list skipped callback
async-quiet-switch)
(let (to)
(dolist (from fn-list)
(setq to (funcall name-constructor from))
(if (and (equal to from)
(null (eq file-creator 'backup-file)))
(progn
(setq to nil)
(dired-log "Cannot %s to same file: %s\n"
(downcase operation) from)))
(if (not to)
(setq skipped (cons (dired-make-relative from) skipped))
(let* ((overwrite (and (null (eq file-creator 'backup-file))
(file-exists-p to)))
(dired-overwrite-confirmed ; for dired-handle-overwrite
(and overwrite
(let ((help-form `(format "\
Type SPC or `y' to overwrite file `%s',
DEL or `n' to skip to next,
ESC or `q' to not overwrite any of the remaining files,
`!' to overwrite all remaining files with no more questions." ,to)))
(dired-query 'overwrite-query "Overwrite `%s'?" to)))))
;; Handle the `dired-copy-file' file-creator specially
;; When copying a directory to another directory or
;; possibly to itself or one of its subdirectories.
;; e.g "~/foo/" => "~/test/"
;; or "~/foo/" =>"~/foo/"
;; or "~/foo/ => ~/foo/bar/")
;; In this case the 'name-constructor' have set the destination
;; TO to "~/test/foo" because the old emacs23 behavior
;; of `copy-directory' was to not create the subdirectory
;; and instead copy the contents.
;; With the new behavior of `copy-directory'
;; (similar to the `cp' shell command) we don't
;; need such a construction of the target directory,
;; so modify the destination TO to "~/test/" instead of "~/test/foo/".
(let ((destname (file-name-directory to)))
(when (and (file-directory-p from)
(file-directory-p to)
(eq file-creator 'dired-copy-file))
(setq to destname))
;; If DESTNAME is a subdirectory of FROM, not a symlink,
;; and the method in use is copying, signal an error.
(and (eq t (car (file-attributes destname)))
(eq file-creator 'dired-copy-file)
(file-in-directory-p destname from)
(error "Cannot copy `%s' into its subdirectory `%s'"
from to)))
(if overwrite
(or (and dired-overwrite-confirmed
(push (cons from to) async-fn-list))
(progn
(push (dired-make-relative from) failures)
(dired-log "%s `%s' to `%s' failed\n"
operation from to)))
(push (cons from to) async-fn-list)))))
;; Fix tramp issue #80 with emacs-26, use "-q" only when needed.
(setq async-quiet-switch
(if (and (boundp 'tramp-cache-read-persistent-data)
async-fn-list
(cl-loop for (_from . to) in async-fn-list
thereis (file-remote-p to)))
"-q" "-Q"))
;; When failures have been printed to dired log add the date at bob.
(when (or failures skipped) (dired-log t))
;; When async-fn-list is empty that's mean only one file
;; had to be copied and user finally answer NO.
;; In this case async process will never start and callback
;; will have no chance to run, so notify failures here.
(unless async-fn-list
(cond (failures
(funcall dired-async-message-function
"%s failed for %d of %d file%s -- See *Dired log* buffer"
'dired-async-failures
operation (length failures)
total (dired-plural-s total)))
(skipped
(funcall dired-async-message-function
"%s: %d of %d file%s skipped -- See *Dired log* buffer"
'dired-async-failures
operation (length skipped) total
(dired-plural-s total)))))
;; Setup callback.
(setq callback
(lambda (&optional _ignore)
(dired-async-after-file-create
total (list operation (length async-fn-list)) failures skipped)
(when (string= (downcase operation) "rename")
(cl-loop for (file . to) in async-fn-list
for bf = (get-file-buffer file)
for destp = (file-exists-p to)
do (and bf destp
(with-current-buffer bf
(set-visited-file-name to t t))))))))
;; Start async process.
(when async-fn-list
(async-start `(lambda ()
(require 'cl-lib) (require 'dired-aux) (require 'dired-x)
,(async-inject-variables dired-async-env-variables-regexp)
(let ((dired-recursive-copies (quote always))
(dired-copy-preserve-time
,dired-copy-preserve-time))
(setq overwrite-backup-query nil)
;; Inline `backup-file' as long as it is not
;; available in emacs.
(defalias 'backup-file
;; Same feature as "cp -f --backup=numbered from to"
;; Symlinks are copied as file from source unlike
;; `dired-copy-file' which is same as cp -d.
;; Directories are omitted.
(lambda (from to ok)
(cond ((file-directory-p from) (ignore))
(t (let ((count 0))
(while (let ((attrs (file-attributes to)))
(and attrs (null (nth 0 attrs))))
(cl-incf count)
(setq to (concat (file-name-sans-versions to)
(format ".~%s~" count)))))
(condition-case err
(copy-file from to ok dired-copy-preserve-time)
(file-date-error
(dired-log "Can't set date on %s:\n%s\n" from err)))))))
;; Now run the FILE-CREATOR function on files.
(cl-loop with fn = (quote ,file-creator)
for (from . dest) in (quote ,async-fn-list)
do (condition-case err
(funcall fn from dest t)
(file-error
(dired-log "%s: %s\n" (car err) (cdr err))
nil)))
(when (get-buffer dired-log-buffer)
(dired-log t)
(with-current-buffer dired-log-buffer
(write-region (point-min) (point-max)
,dired-async-log-file))))
,(dired-async-maybe-kill-ftp))
callback)
;; Run mode-line notifications while process running.
(dired-async--modeline-mode 1)
(message "%s proceeding asynchronously..." operation))))
(defvar wdired-use-interactive-rename)
(defun dired-async-wdired-do-renames (old-fn &rest args)
;; Perhaps a better fix would be to ask for renaming BEFORE starting
;; OLD-FN when `wdired-use-interactive-rename' is non-nil. For now
;; just bind it to nil to ensure no questions will be asked between
;; each rename.
(let (wdired-use-interactive-rename)
(apply old-fn args)))
;;;###autoload
(define-minor-mode dired-async-mode
"Do dired actions asynchronously."
:lighter dired-async-mode-lighter
:global t
(if dired-async-mode
(progn
(advice-add 'dired-create-files :override #'dired-async-create-files)
(advice-add 'wdired-do-renames :around #'dired-async-wdired-do-renames))
(progn
(advice-remove 'dired-create-files #'dired-async-create-files)
(advice-remove 'wdired-do-renames #'dired-async-wdired-do-renames))))
(defmacro dired-async--with-async-create-files (&rest body)
"Evaluate BODY with dired-create-files set to dired-async-create-files."
(declare (indent 0))
`(cl-letf (((symbol-function 'dired-create-files) #'dired-async-create-files))
,@body))
;;;###autoload
(defun dired-async-do-copy (&optional arg)
"Run dired-do-copy asynchronously."
(interactive "P")
(dired-async--with-async-create-files
(dired-do-copy arg)))
;;;###autoload
(defun dired-async-do-symlink (&optional arg)
"Run dired-do-symlink asynchronously."
(interactive "P")
(dired-async--with-async-create-files
(dired-do-symlink arg)))
;;;###autoload
(defun dired-async-do-hardlink (&optional arg)
"Run dired-do-hardlink asynchronously."
(interactive "P")
(dired-async--with-async-create-files
(dired-do-hardlink arg)))
;;;###autoload
(defun dired-async-do-rename (&optional arg)
"Run dired-do-rename asynchronously."
(interactive "P")
(dired-async--with-async-create-files
(dired-do-rename arg)))
(provide 'dired-async)
;;; dired-async.el ends here

View File

@ -1,71 +0,0 @@
;;; smtpmail-async.el --- Send e-mail with smtpmail.el asynchronously -*- lexical-binding: t -*-
;; Copyright (C) 2012-2016 Free Software Foundation, Inc.
;; Author: John Wiegley <jwiegley@gmail.com>
;; Created: 18 Jun 2012
;; Keywords: email async
;; X-URL: https://github.com/jwiegley/emacs-async
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;; Commentary:
;; Send e-mail with smtpmail.el asynchronously. To use:
;;
;; (require 'smtpmail-async)
;;
;; (setq send-mail-function 'async-smtpmail-send-it
;; message-send-mail-function 'async-smtpmail-send-it)
;;
;; This assumes you already have smtpmail.el working.
;;; Code:
(defgroup smtpmail-async nil
"Send e-mail with smtpmail.el asynchronously"
:group 'smptmail)
(require 'async)
(require 'smtpmail)
(require 'message)
(defvar async-smtpmail-before-send-hook nil
"Hook running in the child emacs in `async-smtpmail-send-it'.
It is called just before calling `smtpmail-send-it'.")
(defun async-smtpmail-send-it ()
(let ((to (message-field-value "To"))
(buf-content (buffer-substring-no-properties
(point-min) (point-max))))
(message "Delivering message to %s..." to)
(async-start
`(lambda ()
(require 'smtpmail)
(with-temp-buffer
(insert ,buf-content)
(set-buffer-multibyte nil)
;; Pass in the variable environment for smtpmail
,(async-inject-variables
"\\`\\(smtpmail\\|async-smtpmail\\|\\(user-\\)?mail\\)-\\|auth-sources\\|epg\\|nsm"
nil "\\`\\(mail-header-format-function\\|smtpmail-address-buffer\\|mail-mode-abbrev-table\\)")
(run-hooks 'async-smtpmail-before-send-hook)
(smtpmail-send-it)))
(lambda (&optional _ignore)
(message "Delivering message to %s...done" to)))))
(provide 'smtpmail-async)
;;; smtpmail-async.el ends here

View File

@ -1,214 +0,0 @@
;;; async-autoloads.el --- automatically extracted autoloads -*- lexical-binding: t -*-
;;
;;; Code:
(add-to-list 'load-path (directory-file-name
(or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "async" "async.el" (0 0 0 0))
;;; Generated autoloads from async.el
(autoload 'async-start-process "async" "\
Start the executable PROGRAM asynchronously named NAME. See `async-start'.
PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the
process object when done. If FINISH-FUNC is nil, the future
object will return the process object when the program is
finished. Set DEFAULT-DIRECTORY to change PROGRAM's current
working directory.
\(fn NAME PROGRAM FINISH-FUNC &rest PROGRAM-ARGS)" nil nil)
(autoload 'async-start "async" "\
Execute START-FUNC (often a lambda) in a subordinate Emacs process.
When done, the return value is passed to FINISH-FUNC. Example:
(async-start
;; What to do in the child process
(lambda ()
(message \"This is a test\")
(sleep-for 3)
222)
;; What to do when it finishes
(lambda (result)
(message \"Async process done, result should be 222: %s\"
result)))
If FINISH-FUNC is nil or missing, a future is returned that can
be inspected using `async-get', blocking until the value is
ready. Example:
(let ((proc (async-start
;; What to do in the child process
(lambda ()
(message \"This is a test\")
(sleep-for 3)
222))))
(message \"I'm going to do some work here\") ;; ....
(message \"Waiting on async process, result should be 222: %s\"
(async-get proc)))
If you don't want to use a callback, and you don't care about any
return value from the child process, pass the `ignore' symbol as
the second argument (if you don't, and never call `async-get', it
will leave *emacs* process buffers hanging around):
(async-start
(lambda ()
(delete-file \"a remote file on a slow link\" nil))
\\='ignore)
Special case:
If the output of START-FUNC is a string with properties
e.g. (buffer-string) RESULT will be transformed in a list where the
car is the string itself (without props) and the cdr the rest of
properties, this allows using in FINISH-FUNC the string without
properties and then apply the properties in cdr to this string (if
needed).
Properties handling special objects like markers are returned as
list to allow restoring them later.
See <https://github.com/jwiegley/emacs-async/issues/145> for more infos.
Note: Even when FINISH-FUNC is present, a future is still
returned except that it yields no value (since the value is
passed to FINISH-FUNC). Call `async-get' on such a future always
returns nil. It can still be useful, however, as an argument to
`async-ready' or `async-wait'.
\(fn START-FUNC &optional FINISH-FUNC)" nil nil)
(register-definition-prefixes "async" '("async-"))
;;;***
;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (0 0 0
;;;;;; 0))
;;; Generated autoloads from async-bytecomp.el
(autoload 'async-byte-recompile-directory "async-bytecomp" "\
Compile all *.el files in DIRECTORY asynchronously.
All *.elc files are systematically deleted before proceeding.
\(fn DIRECTORY &optional QUIET)" nil nil)
(defvar async-bytecomp-package-mode nil "\
Non-nil if Async-Bytecomp-Package mode is enabled.
See the `async-bytecomp-package-mode' command
for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `async-bytecomp-package-mode'.")
(custom-autoload 'async-bytecomp-package-mode "async-bytecomp" nil)
(autoload 'async-bytecomp-package-mode "async-bytecomp" "\
Byte compile asynchronously packages installed with package.el.
Async compilation of packages can be controlled by
`async-bytecomp-allowed-packages'.
This is a minor mode. If called interactively, toggle the
`Async-Bytecomp-Package mode' mode. If the prefix argument is
positive, enable the mode, and if it is zero or negative, disable
the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='async-bytecomp-package-mode)'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
\(fn &optional ARG)" t nil)
(autoload 'async-byte-compile-file "async-bytecomp" "\
Byte compile Lisp code FILE asynchronously.
Same as `byte-compile-file' but asynchronous.
\(fn FILE)" t nil)
(register-definition-prefixes "async-bytecomp" '("async-"))
;;;***
;;;### (autoloads nil "dired-async" "dired-async.el" (0 0 0 0))
;;; Generated autoloads from dired-async.el
(defvar dired-async-mode nil "\
Non-nil if Dired-Async mode is enabled.
See the `dired-async-mode' command
for a description of this minor mode.
Setting this variable directly does not take effect;
either customize it (see the info node `Easy Customization')
or call the function `dired-async-mode'.")
(custom-autoload 'dired-async-mode "dired-async" nil)
(autoload 'dired-async-mode "dired-async" "\
Do dired actions asynchronously.
This is a minor mode. If called interactively, toggle the
`Dired-Async mode' mode. If the prefix argument is positive,
enable the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable
the mode if ARG is nil, omitted, or is a positive number.
Disable the mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='dired-async-mode)'.
The mode's hook is called both when the mode is enabled and when
it is disabled.
\(fn &optional ARG)" t nil)
(autoload 'dired-async-do-copy "dired-async" "\
Run dired-do-copy asynchronously.
\(fn &optional ARG)" t nil)
(autoload 'dired-async-do-symlink "dired-async" "\
Run dired-do-symlink asynchronously.
\(fn &optional ARG)" t nil)
(autoload 'dired-async-do-hardlink "dired-async" "\
Run dired-do-hardlink asynchronously.
\(fn &optional ARG)" t nil)
(autoload 'dired-async-do-rename "dired-async" "\
Run dired-do-rename asynchronously.
\(fn &optional ARG)" t nil)
(register-definition-prefixes "dired-async" '("dired-async-"))
;;;***
;;;### (autoloads nil "smtpmail-async" "smtpmail-async.el" (0 0 0
;;;;;; 0))
;;; Generated autoloads from smtpmail-async.el
(register-definition-prefixes "smtpmail-async" '("async-smtpmail-"))
;;;***
;;;### (autoloads nil nil ("async-pkg.el") (0 0 0 0))
;;;***
;; Local Variables:
;; version-control: never
;; no-byte-compile: t
;; no-update-autoloads: t
;; coding: utf-8
;; End:
;;; async-autoloads.el ends here

View File

@ -1,6 +1,6 @@
(define-package "async" "20220820.530" "Asynchronous processing in Emacs" (define-package "async" "20221103.638" "Asynchronous processing in Emacs"
'((emacs "24.4")) '((emacs "24.4"))
:commit "73f825fd739875e4b8e10d47d497df402bbb61e7" :authors :commit "10cedd8ac7173e92a6822317f1782550199d2d6d" :authors
'(("John Wiegley" . "jwiegley@gmail.com")) '(("John Wiegley" . "jwiegley@gmail.com"))
:maintainer :maintainer
'("Thierry Volpiatto" . "thievol@posteo.net") '("Thierry Volpiatto" . "thievol@posteo.net")

View File

@ -6,7 +6,7 @@
;; Maintainer: Thierry Volpiatto <thievol@posteo.net> ;; Maintainer: Thierry Volpiatto <thievol@posteo.net>
;; Created: 18 Jun 2012 ;; Created: 18 Jun 2012
;; Version: 1.9.6 ;; Version: 1.9.7
;; Package-Requires: ((emacs "24.4")) ;; Package-Requires: ((emacs "24.4"))
;; Keywords: async ;; Keywords: async
@ -51,6 +51,13 @@
(defvar async-callback-value-set nil) (defvar async-callback-value-set nil)
(defvar async-current-process nil) (defvar async-current-process nil)
(defvar async--procvar nil) (defvar async--procvar nil)
(defvar async-child-init nil
"Initialisation file for async child Emacs.
If defined this allows for an init file to setup the child Emacs. It
should not be your normal init.el as that would likely load more
things that you require. It should limit itself to ensuring paths have
been setup so any async code can load libraries you expect.")
;; For emacs<29 (only exists in emacs-29+). ;; For emacs<29 (only exists in emacs-29+).
(defvar print-symbols-bare) (defvar print-symbols-bare)
@ -310,6 +317,20 @@ Can be one of \"-Q\" or \"-q\".
Default is \"-Q\" but it is sometimes useful to use \"-q\" to have a Default is \"-Q\" but it is sometimes useful to use \"-q\" to have a
enhanced config or some more variables loaded.") enhanced config or some more variables loaded.")
(defun async--emacs-program-args (&optional sexp)
"Return a list of arguments for invoking the child Emacs."
;; Using `locate-library' ensure we use the right file
;; when the .elc have been deleted.
(let ((args (list async-quiet-switch "-l" (locate-library "async"))))
(when async-child-init
(setq args (append args (list "-l" async-child-init))))
(append args (list "-batch" "-f" "async-batch-invoke"
(if sexp
(with-temp-buffer
(async--insert-sexp (list 'quote sexp))
(buffer-string))
"<none>")))))
;;;###autoload ;;;###autoload
(defun async-start (start-func &optional finish-func) (defun async-start (start-func &optional finish-func)
"Execute START-FUNC (often a lambda) in a subordinate Emacs process. "Execute START-FUNC (often a lambda) in a subordinate Emacs process.
@ -373,21 +394,13 @@ returns nil. It can still be useful, however, as an argument to
;; Subordinate Emacs will send text encoded in UTF-8. ;; Subordinate Emacs will send text encoded in UTF-8.
(coding-system-for-read 'utf-8-auto)) (coding-system-for-read 'utf-8-auto))
(setq async--procvar (setq async--procvar
(async-start-process (apply 'async-start-process
"emacs" (file-truename "emacs" (file-truename
(expand-file-name invocation-name (expand-file-name invocation-name
invocation-directory)) invocation-directory))
finish-func finish-func
async-quiet-switch "-l" (async--emacs-program-args (if (not async-send-over-pipe) sexp))))
;; Using `locate-library' ensure we use the right file
;; when the .elc have been deleted.
(locate-library "async")
"-batch" "-f" "async-batch-invoke"
(if async-send-over-pipe
"<none>"
(with-temp-buffer
(async--insert-sexp (list 'quote sexp))
(buffer-string)))))
(if async-send-over-pipe (if async-send-over-pipe
(async--transmit-sexp async--procvar (list 'quote sexp))) (async--transmit-sexp async--procvar (list 'quote sexp)))
async--procvar)) async--procvar))

View File

@ -68,7 +68,7 @@ Should take same args as `message'."
:risky t :risky t
:type 'sexp) :type 'sexp)
(defcustom dired-async-skip-fast t (defcustom dired-async-skip-fast nil
"If non-nil, skip async for fast operations. "If non-nil, skip async for fast operations.
Same device renames and copying and renaming files smaller than Same device renames and copying and renaming files smaller than
`dired-async-small-file-max' are considered fast." `dired-async-small-file-max' are considered fast."
@ -117,8 +117,7 @@ or rename for `dired-async-skip-fast'."
(defun dired-async-processes () (defun dired-async-processes ()
(cl-loop for p in (process-list) (cl-loop for p in (process-list)
when (cl-loop for c in (process-command p) thereis when (process-get p 'dired-async-process)
(string= "async-batch-invoke" c))
collect p)) collect p))
(defun dired-async-kill-process () (defun dired-async-kill-process ()
@ -195,11 +194,16 @@ See `file-attributes'."
(defsubst dired-async--same-device-p (f1 f2) (defsubst dired-async--same-device-p (f1 f2)
"Return non-nil if F1 and F2 have the same device number." "Return non-nil if F1 and F2 have the same device number."
(= (file-attribute-device-number (file-attributes f1)) ;; file-attribute-device-number may be a cons cell, so use equal for
(file-attribute-device-number (file-attributes f2)))) ;; testing (See Emacs bug/58446).
(equal (file-attribute-device-number (file-attributes f1))
(file-attribute-device-number (file-attributes f2))))
(defun dired-async--small-file-p (file) (defun dired-async--small-file-p (file)
"Return non-nil if FILE is small (can create quickly)." "Return non-nil if FILE is considered small.
File is considered small if it size is smaller than
`dired-async-small-file-max'."
(let ((a (file-attributes file))) (let ((a (file-attributes file)))
;; Directories are always large since we can't easily figure out ;; Directories are always large since we can't easily figure out
;; their total size. ;; their total size.
@ -216,20 +220,27 @@ See `dired-create-files' for FILE-CREATOR and NAME-CONSTRUCTOR."
(let ((new (funcall name-constructor file))) (let ((new (funcall name-constructor file)))
(dired-async--same-device-p file (file-name-directory new)))))) (dired-async--same-device-p file (file-name-directory new))))))
(defun dired-async--smart-create-files (old-func file-creator operation fn-list name-constructor (defun dired-async--smart-create-files (old-func file-creator
&optional marker-char) operation fn-list name-constructor
&optional marker-char)
"Around advice for `dired-create-files'. "Around advice for `dired-create-files'.
Uses async like `dired-async-create-files' but skips certain fast Uses async like `dired-async-create-files' but skips certain fast
cases if `dired-async-skip-fast' is non-nil." cases if `dired-async-skip-fast' is non-nil."
(let (async-list quick-list) (let (async-list quick-list)
(dolist (old fn-list) (if (or (eq file-creator 'backup-file)
(if (dired-async--skip-async-p file-creator old name-constructor) (null dired-async-skip-fast))
(push old quick-list) (setq async-list fn-list)
(push old async-list))) (dolist (old fn-list)
(if (dired-async--skip-async-p file-creator old name-constructor)
(push old quick-list)
(push old async-list))))
(when async-list (when async-list
(dired-async-create-files file-creator operation (nreverse async-list) name-constructor marker-char)) (dired-async-create-files
file-creator operation (nreverse async-list)
name-constructor marker-char))
(when quick-list (when quick-list
(funcall old-func file-creator operation (nreverse quick-list) name-constructor marker-char)))) (funcall old-func file-creator operation
(nreverse quick-list) name-constructor marker-char))))
(defvar overwrite-query) (defvar overwrite-query)
(defun dired-async-create-files (file-creator operation fn-list name-constructor (defun dired-async-create-files (file-creator operation fn-list name-constructor
@ -336,47 +347,49 @@ ESC or `q' to not overwrite any of the remaining files,
(set-visited-file-name to t t)))))))) (set-visited-file-name to t t))))))))
;; Start async process. ;; Start async process.
(when async-fn-list (when async-fn-list
(async-start `(lambda () (process-put
(require 'cl-lib) (require 'dired-aux) (require 'dired-x) (async-start `(lambda ()
,(async-inject-variables dired-async-env-variables-regexp) (require 'cl-lib) (require 'dired-aux) (require 'dired-x)
(let ((dired-recursive-copies (quote always)) ,(async-inject-variables dired-async-env-variables-regexp)
(dired-copy-preserve-time (let ((dired-recursive-copies (quote always))
,dired-copy-preserve-time)) (dired-copy-preserve-time
(setq overwrite-backup-query nil) ,dired-copy-preserve-time))
;; Inline `backup-file' as long as it is not (setq overwrite-backup-query nil)
;; available in emacs. ;; Inline `backup-file' as long as it is not
(defalias 'backup-file ;; available in emacs.
;; Same feature as "cp -f --backup=numbered from to" (defalias 'backup-file
;; Symlinks are copied as file from source unlike ;; Same feature as "cp -f --backup=numbered from to"
;; `dired-copy-file' which is same as cp -d. ;; Symlinks are copied as file from source unlike
;; Directories are omitted. ;; `dired-copy-file' which is same as cp -d.
(lambda (from to ok) ;; Directories are omitted.
(cond ((file-directory-p from) (ignore)) (lambda (from to ok)
(t (let ((count 0)) (cond ((file-directory-p from) (ignore))
(while (let ((attrs (file-attributes to))) (t (let ((count 0))
(and attrs (null (nth 0 attrs)))) (while (let ((attrs (file-attributes to)))
(cl-incf count) (and attrs (null (nth 0 attrs))))
(setq to (concat (file-name-sans-versions to) (cl-incf count)
(format ".~%s~" count))))) (setq to (concat (file-name-sans-versions to)
(condition-case err (format ".~%s~" count)))))
(copy-file from to ok dired-copy-preserve-time) (condition-case err
(file-date-error (copy-file from to ok dired-copy-preserve-time)
(dired-log "Can't set date on %s:\n%s\n" from err))))))) (file-date-error
;; Now run the FILE-CREATOR function on files. (dired-log "Can't set date on %s:\n%s\n" from err)))))))
(cl-loop with fn = (quote ,file-creator) ;; Now run the FILE-CREATOR function on files.
for (from . dest) in (quote ,async-fn-list) (cl-loop with fn = (quote ,file-creator)
do (condition-case err for (from . dest) in (quote ,async-fn-list)
(funcall fn from dest t) do (condition-case err
(file-error (funcall fn from dest t)
(dired-log "%s: %s\n" (car err) (cdr err)) (file-error
nil))) (dired-log "%s: %s\n" (car err) (cdr err))
(when (get-buffer dired-log-buffer) nil)))
(dired-log t) (when (get-buffer dired-log-buffer)
(with-current-buffer dired-log-buffer (dired-log t)
(write-region (point-min) (point-max) (with-current-buffer dired-log-buffer
,dired-async-log-file)))) (write-region (point-min) (point-max)
,(dired-async-maybe-kill-ftp)) ,dired-async-log-file))))
callback) ,(dired-async-maybe-kill-ftp))
callback)
'dired-async-process t)
;; Run mode-line notifications while process running. ;; Run mode-line notifications while process running.
(dired-async--modeline-mode 1) (dired-async--modeline-mode 1)
(message "%s proceeding asynchronously..." operation)))) (message "%s proceeding asynchronously..." operation))))

View File

@ -1,2 +1,2 @@
;;; Generated package description from bind-key.el -*- no-byte-compile: t -*- ;;; Generated package description from bind-key.el -*- no-byte-compile: t -*-
(define-package "bind-key" "20220910.2157" "A simple way to manage personal keybindings" 'nil :commit "9a45a8004a9e520e0e822b960ca9d70c2528181e" :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :keywords '("keys" "keybinding" "config" "dotemacs") :url "https://github.com/jwiegley/use-package") (define-package "bind-key" "20221028.1858" "A simple way to manage personal keybindings" 'nil :commit "4095f1bdae7989981803d25a52384383116e6db6" :authors '(("John Wiegley" . "johnw@newartisans.com")) :maintainer '("John Wiegley" . "johnw@newartisans.com") :keywords '("keys" "keybinding" "config" "dotemacs") :url "https://github.com/jwiegley/use-package")

View File

@ -1,14 +1,14 @@
;;; bind-key.el --- A simple way to manage personal keybindings -*- lexical-binding: t; -*- ;;; bind-key.el --- A simple way to manage personal keybindings -*- lexical-binding: t; -*-
;; Copyright (c) 2012-2017 John Wiegley ;; Copyright (c) 2012-2022 Free Software Foundation, Inc.
;; Author: John Wiegley <johnw@newartisans.com> ;; Author: John Wiegley <johnw@newartisans.com>
;; Maintainer: John Wiegley <johnw@newartisans.com> ;; Maintainer: John Wiegley <johnw@newartisans.com>
;; Created: 16 Jun 2012 ;; Created: 16 Jun 2012
;; Modified: 29 Nov 2017 ;; Modified: 29 Nov 2017
;; Version: 2.4 ;; Version: 2.4.1
;; Package-Version: 20220910.2157 ;; Package-Version: 20221028.1858
;; Package-Commit: 9a45a8004a9e520e0e822b960ca9d70c2528181e ;; Package-Commit: 4095f1bdae7989981803d25a52384383116e6db6
;; Keywords: keys keybinding config dotemacs ;; Keywords: keys keybinding config dotemacs
;; URL: https://github.com/jwiegley/use-package ;; URL: https://github.com/jwiegley/use-package

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-08-25T17:05:04-0400 using RSA

View File

@ -0,0 +1,7 @@
;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")
((emacs-lisp-mode
(byte-compile-docstring-max-column . 100)
(show-trailing-whitespace . t)
(indent-tabs-mode . nil)))

View File

@ -1,6 +1,26 @@
#+options: toc:nil num:nil #+options: toc:nil num:nil
#+link: compat https://todo.sr.ht/~pkal/compat/ #+link: compat https://todo.sr.ht/~pkal/compat/
* Release of "Compat" Version 28.1.2.2
This is a minor release that hopes to address [[compat:7]].
(Release <2022-08-25 Thu>)
* Release of "Compat" Version 28.1.2.1
This is a minor release adding the following changes:
- Add =derived-mode-p= defined in Emacs 27
- Add =provided-mode-derived-p= defined in Emacs 27
- Add =read-multiple-choice= defined in Emacs 26
- Add =file-name-absolute-p= defined in Emacs 28
The only other notable change is that the manual has been rewritten to
include much more documentation that had been the case previously.
(Release <2022-08-24 Wed>)
* Release of "Compat" Version 28.1.2.0 * Release of "Compat" Version 28.1.2.0
The main change of this release has been the major simplification of The main change of this release has been the major simplification of

View File

@ -37,13 +37,14 @@
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs)) (require 'compat-macs "compat-macs.el")
(compat-declare-version "24.4")
;;;; Defined in data.c ;;;; Defined in data.c
(compat-defun = (number-or-marker &rest numbers-or-markers) (compat-defun = (number-or-marker &rest numbers-or-markers)
"Handle multiple arguments." "Handle multiple arguments."
:version "24.4"
:prefix t :prefix t
(catch 'fail (catch 'fail
(while numbers-or-markers (while numbers-or-markers
@ -54,7 +55,6 @@
(compat-defun < (number-or-marker &rest numbers-or-markers) (compat-defun < (number-or-marker &rest numbers-or-markers)
"Handle multiple arguments." "Handle multiple arguments."
:version "24.4"
:prefix t :prefix t
(catch 'fail (catch 'fail
(while numbers-or-markers (while numbers-or-markers
@ -65,7 +65,6 @@
(compat-defun > (number-or-marker &rest numbers-or-markers) (compat-defun > (number-or-marker &rest numbers-or-markers)
"Handle multiple arguments." "Handle multiple arguments."
:version "24.4"
:prefix t :prefix t
(catch 'fail (catch 'fail
(while numbers-or-markers (while numbers-or-markers
@ -76,7 +75,6 @@
(compat-defun <= (number-or-marker &rest numbers-or-markers) (compat-defun <= (number-or-marker &rest numbers-or-markers)
"Handle multiple arguments." "Handle multiple arguments."
:version "24.4"
:prefix t :prefix t
(catch 'fail (catch 'fail
(while numbers-or-markers (while numbers-or-markers
@ -87,7 +85,6 @@
(compat-defun >= (number-or-marker &rest numbers-or-markers) (compat-defun >= (number-or-marker &rest numbers-or-markers)
"Handle multiple arguments." "Handle multiple arguments."
:version "24.4"
:prefix t :prefix t
(catch 'fail (catch 'fail
(while numbers-or-markers (while numbers-or-markers
@ -100,7 +97,6 @@
If optional third argument C is given, store result into C. If optional third argument C is given, store result into C.
A, B, and C must be bool vectors of the same length. A, B, and C must be bool vectors of the same length.
Return the destination vector if it changed or nil otherwise." Return the destination vector if it changed or nil otherwise."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (bool-vector-p b) (unless (bool-vector-p b)
@ -124,7 +120,6 @@ Return the destination vector if it changed or nil otherwise."
If optional third argument C is given, store result into C. If optional third argument C is given, store result into C.
A, B, and C must be bool vectors of the same length. A, B, and C must be bool vectors of the same length.
Return the destination vector if it changed or nil otherwise." Return the destination vector if it changed or nil otherwise."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (bool-vector-p b) (unless (bool-vector-p b)
@ -148,7 +143,6 @@ Return the destination vector if it changed or nil otherwise."
If optional third argument C is given, store result into C. If optional third argument C is given, store result into C.
A, B, and C must be bool vectors of the same length. A, B, and C must be bool vectors of the same length.
Return the destination vector if it changed or nil otherwise." Return the destination vector if it changed or nil otherwise."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (bool-vector-p b) (unless (bool-vector-p b)
@ -172,7 +166,6 @@ Return the destination vector if it changed or nil otherwise."
If optional third argument C is given, store result into C. If optional third argument C is given, store result into C.
A, B, and C must be bool vectors of the same length. A, B, and C must be bool vectors of the same length.
Return the destination vector if it changed or nil otherwise." Return the destination vector if it changed or nil otherwise."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (bool-vector-p b) (unless (bool-vector-p b)
@ -196,7 +189,6 @@ Return the destination vector if it changed or nil otherwise."
If optional second argument B is given, store result into B. If optional second argument B is given, store result into B.
A and B must be bool vectors of the same length. A and B must be bool vectors of the same length.
Return the destination vector." Return the destination vector."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (or (null b) (bool-vector-p b)) (unless (or (null b) (bool-vector-p b))
@ -211,7 +203,6 @@ Return the destination vector."
(compat-defun bool-vector-subsetp (a b) (compat-defun bool-vector-subsetp (a b)
"Return t if every t value in A is also t in B, nil otherwise. "Return t if every t value in A is also t in B, nil otherwise.
A and B must be bool vectors of the same length." A and B must be bool vectors of the same length."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(unless (bool-vector-p b) (unless (bool-vector-p b)
@ -227,7 +218,6 @@ A and B must be bool vectors of the same length."
(compat-defun bool-vector-count-consecutive (a b i) (compat-defun bool-vector-count-consecutive (a b i)
"Count how many consecutive elements in A equal B starting at I. "Count how many consecutive elements in A equal B starting at I.
A is a bool vector, B is t or nil, and I is an index into A." A is a bool vector, B is t or nil, and I is an index into A."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(setq b (and b t)) ;normalise to nil or t (setq b (and b t)) ;normalise to nil or t
@ -242,7 +232,6 @@ A is a bool vector, B is t or nil, and I is an index into A."
"Count how many elements in A are t. "Count how many elements in A are t.
A is a bool vector. To count A's nil elements, subtract the A is a bool vector. To count A's nil elements, subtract the
return value from A's length." return value from A's length."
:version "24.4"
(unless (bool-vector-p a) (unless (bool-vector-p a)
(signal 'wrong-type-argument (list 'bool-vector-p a))) (signal 'wrong-type-argument (list 'bool-vector-p a)))
(let ((n 0)) (let ((n 0))
@ -259,7 +248,6 @@ return value from A's length."
FILE is normally a feature name, but it can also be a file name, FILE is normally a feature name, but it can also be a file name,
in case that file does not provide any feature. See `eval-after-load' in case that file does not provide any feature. See `eval-after-load'
for more details about the different forms of FILE and their semantics." for more details about the different forms of FILE and their semantics."
:version "24.4"
(declare (indent 1) (debug (form def-body))) (declare (indent 1) (debug (form def-body)))
;; See https://nullprogram.com/blog/2018/02/22/ on how ;; See https://nullprogram.com/blog/2018/02/22/ on how
;; `eval-after-load' is used to preserve compatibility with 24.3. ;; `eval-after-load' is used to preserve compatibility with 24.3.
@ -267,7 +255,6 @@ for more details about the different forms of FILE and their semantics."
(compat-defun special-form-p (object) (compat-defun special-form-p (object)
"Non-nil if and only if OBJECT is a special form." "Non-nil if and only if OBJECT is a special form."
:version "24.4"
(if (and (symbolp object) (fboundp object)) (if (and (symbolp object) (fboundp object))
(setq object (condition-case nil (setq object (condition-case nil
(indirect-function object) (indirect-function object)
@ -276,7 +263,6 @@ for more details about the different forms of FILE and their semantics."
(compat-defun macrop (object) (compat-defun macrop (object)
"Non-nil if and only if OBJECT is a macro." "Non-nil if and only if OBJECT is a macro."
:version "24.4"
(let ((def (condition-case nil (let ((def (condition-case nil
(indirect-function object) (indirect-function object)
(void-function nil)))) (void-function nil))))
@ -288,7 +274,6 @@ for more details about the different forms of FILE and their semantics."
"Return non-nil if SUFFIX is a suffix of STRING. "Return non-nil if SUFFIX is a suffix of STRING.
If IGNORE-CASE is non-nil, the comparison is done without paying If IGNORE-CASE is non-nil, the comparison is done without paying
attention to case differences." attention to case differences."
:version "24.4"
(let ((start-pos (- (length string) (length suffix)))) (let ((start-pos (- (length string) (length suffix))))
(and (>= start-pos 0) (and (>= start-pos 0)
(eq t (compare-strings suffix nil nil (eq t (compare-strings suffix nil nil
@ -298,7 +283,6 @@ attention to case differences."
"Extend `split-string' by a TRIM argument. "Extend `split-string' by a TRIM argument.
The remaining arguments STRING, SEPARATORS and OMIT-NULLS are The remaining arguments STRING, SEPARATORS and OMIT-NULLS are
handled just as with `split-string'." handled just as with `split-string'."
:version "24.4"
:prefix t :prefix t
(let* ((token (split-string string separators omit-nulls)) (let* ((token (split-string string separators omit-nulls))
(trimmed (if trim (trimmed (if trim
@ -317,7 +301,6 @@ handled just as with `split-string'."
"Destructively remove `equal' consecutive duplicates from LIST. "Destructively remove `equal' consecutive duplicates from LIST.
First and last elements are considered consecutive if CIRCULAR is First and last elements are considered consecutive if CIRCULAR is
non-nil." non-nil."
:version "24.4"
(let ((tail list) last) (let ((tail list) last)
(while (cdr tail) (while (cdr tail)
(if (equal (car tail) (cadr tail)) (if (equal (car tail) (cadr tail))
@ -337,7 +320,6 @@ MESSAGE is a string that will be output to the echo area if such an error
is signaled without being caught by a `condition-case'. is signaled without being caught by a `condition-case'.
PARENT is either a signal or a list of signals from which it inherits. PARENT is either a signal or a list of signals from which it inherits.
Defaults to `error'." Defaults to `error'."
:version "24.4"
(unless parent (setq parent 'error)) (unless parent (setq parent 'error))
(let ((conditions (let ((conditions
(if (consp parent) (if (consp parent)
@ -364,7 +346,6 @@ only need to call FUN once. This can be useful when FUN performs a
relatively slow operation, such as calling an external process. relatively slow operation, such as calling an external process.
When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive." When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
:version "24.4"
(let* (last-arg last-result (let* (last-arg last-result
(new-fun (new-fun
(lambda (arg) (lambda (arg)
@ -378,7 +359,6 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
;;* UNTESTED ;;* UNTESTED
(compat-defun completion-table-merge (&rest tables) (compat-defun completion-table-merge (&rest tables)
"Create a completion table that collects completions from all TABLES." "Create a completion table that collects completions from all TABLES."
:version "24.4"
(lambda (string pred action) (lambda (string pred action)
(cond (cond
((null action) ((null action)
@ -406,7 +386,6 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
;;* UNTESTED ;;* UNTESTED
(compat-advise require (feature &rest args) (compat-advise require (feature &rest args)
"Allow for Emacs 24.x to require the inexistent FEATURE subr-x." "Allow for Emacs 24.x to require the inexistent FEATURE subr-x."
:version "24.4"
;; As the compatibility advise around `require` is more a hack than ;; As the compatibility advise around `require` is more a hack than
;; of of actual value, the highlighting is suppressed. ;; of of actual value, the highlighting is suppressed.
:no-highlight t :no-highlight t
@ -419,7 +398,6 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
(compat-defun hash-table-keys (hash-table) (compat-defun hash-table-keys (hash-table)
"Return a list of keys in HASH-TABLE." "Return a list of keys in HASH-TABLE."
:version "24.4"
(let (values) (let (values)
(maphash (maphash
(lambda (k _v) (push k values)) (lambda (k _v) (push k values))
@ -428,7 +406,6 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
(compat-defun hash-table-values (hash-table) (compat-defun hash-table-values (hash-table)
"Return a list of values in HASH-TABLE." "Return a list of values in HASH-TABLE."
:version "24.4"
(let (values) (let (values)
(maphash (maphash
(lambda (_k v) (push v values)) (lambda (_k v) (push v values))
@ -437,33 +414,28 @@ When IGNORE-CASE is non-nil, FUN is expected to be case-insensitive."
(compat-defun string-empty-p (string) (compat-defun string-empty-p (string)
"Check whether STRING is empty." "Check whether STRING is empty."
:version "24.4"
(string= string "")) (string= string ""))
(compat-defun string-join (strings &optional separator) (compat-defun string-join (strings &optional separator)
"Join all STRINGS using SEPARATOR. "Join all STRINGS using SEPARATOR.
Optional argument SEPARATOR must be a string, a vector, or a list of Optional argument SEPARATOR must be a string, a vector, or a list of
characters; nil stands for the empty string." characters; nil stands for the empty string."
:version "24.4"
(mapconcat #'identity strings separator)) (mapconcat #'identity strings separator))
(compat-defun string-blank-p (string) (compat-defun string-blank-p (string)
"Check whether STRING is either empty or only whitespace. "Check whether STRING is either empty or only whitespace.
The following characters count as whitespace here: space, tab, newline and The following characters count as whitespace here: space, tab, newline and
carriage return." carriage return."
:version "24.4"
(string-match-p "\\`[ \t\n\r]*\\'" string)) (string-match-p "\\`[ \t\n\r]*\\'" string))
(compat-defun string-remove-prefix (prefix string) (compat-defun string-remove-prefix (prefix string)
"Remove PREFIX from STRING if present." "Remove PREFIX from STRING if present."
:version "24.4"
(if (string-prefix-p prefix string) (if (string-prefix-p prefix string)
(substring string (length prefix)) (substring string (length prefix))
string)) string))
(compat-defun string-remove-suffix (suffix string) (compat-defun string-remove-suffix (suffix string)
"Remove SUFFIX from STRING if present." "Remove SUFFIX from STRING if present."
:version "24.4"
(if (string-suffix-p suffix string) (if (string-suffix-p suffix string)
(substring string 0 (- (length string) (length suffix))) (substring string 0 (- (length string) (length suffix)))
string)) string))
@ -496,7 +468,6 @@ The optional argument SPEC-TYPE determines which spec to set:
and `face-override-spec' specs; and `face-override-spec' specs;
Any other value means not to set any spec, but to run the Any other value means not to set any spec, but to run the
function for defining FACE and recalculating its attributes." function for defining FACE and recalculating its attributes."
:version "24.4"
(if (get face 'face-alias) (if (get face 'face-alias)
(setq face (get face 'face-alias))) (setq face (get face 'face-alias)))
;; Save SPEC to the relevant symbol property. ;; Save SPEC to the relevant symbol property.

View File

@ -32,7 +32,9 @@
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs)) (require 'compat-macs "compat-macs.el")
(compat-declare-version "25.1")
;;;; Defined in alloc.c ;;;; Defined in alloc.c

View File

@ -37,8 +37,9 @@
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs)) (require 'compat-macs "compat-macs.el")
(declare-function compat-func-arity "compat" (func))
(compat-declare-version "26.1")
;;;; Defined in eval.c ;;;; Defined in eval.c
@ -627,5 +628,48 @@ If VALUE is nil, PROPERTY is removed from IMAGE."
(cdr ,image*) (cdr ,image*)
,property* ,value*))))))) ,property* ,value*)))))))
;;;; Defined in rmc.el
;;*UNTESTED
(compat-defun read-multiple-choice
(prompt choices &optional _help-string _show-help long-form)
"Ask user to select an entry from CHOICES, promting with PROMPT.
This function allows to ask the user a multiple-choice question.
CHOICES should be a list of the form (KEY NAME [DESCRIPTION]).
KEY is a character the user should type to select the entry.
NAME is a short name for the entry to be displayed while prompting
\(if there's no room, it might be shortened).
If LONG-FORM, do a `completing-read' over the NAME elements in
CHOICES instead."
:note "This is a partial implementation of `read-multiple-choice', that
among other things doesn't offer any help and ignores the
optional DESCRIPTION field."
(if long-form
(let ((options (mapconcat #'cadr choices "/"))
choice)
(setq prompt (concat prompt " (" options "): "))
(setq choice (completing-read prompt (mapcar #'cadr choices) nil t))
(catch 'found
(dolist (option choices)
(when (string= choice (cadr option))
(throw 'found option)))
(error "Invalid choice")))
(let ((options
(mapconcat
(lambda (opt)
(format
"[%s] %s"
(key-description (string (car opt)))
(cadr opt)))
choices " "))
choice)
(setq prompt (concat prompt " (" options "): "))
(while (not (setq choice (assq (read-char prompt) choices)))
(message "Invalid choice")
(sit-for 1))
choice)))
(compat--inhibit-prefixed (provide 'compat-26)) (compat--inhibit-prefixed (provide 'compat-26))
;;; compat-26.el ends here ;;; compat-26.el ends here

View File

@ -39,7 +39,9 @@
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs)) (require 'compat-macs "compat-macs.el")
(compat-declare-version "27.1")
;;;; Defined in fns.c ;;;; Defined in fns.c
@ -342,6 +344,44 @@ A nil value for either argument stands for the current time."
(float-time (or t2 now)))) (float-time (or t2 now))))
1e-5))))) 1e-5)))))
;;;; Defined in fileio.c
(compat-defun file-name-absolute-p (filename)
"Return t if FILENAME is an absolute file name.
On Unix, absolute file names start with `/'. In Emacs, an absolute
file name can also start with an initial `~' or `~USER' component,
where USER is a valid login name."
;; See definitions in filename.h
(let ((seperator
(eval-when-compile
(if (memq system-type '(cygwin windows-nt ms-dos))
"[\\/]" "/")))
(drive
(eval-when-compile
(cond
((memq system-type '(windows-nt ms-dos))
"\\`[A-Za-z]:[\\/]")
((eq system-type 'cygwin)
"\\`\\([\\/]\\|[A-Za-z]:\\)")
("\\`/"))))
(home
(eval-when-compile
(if (memq system-type '(cygwin windows-nt ms-dos))
"\\`~[\\/]" "\\`~/")))
(user-home
(eval-when-compile
(format "\\`\\(~.*?\\)\\(%s.*\\)?$"
(if (memq system-type '(cygwin windows-nt ms-dos))
"[\\/]" "/")))))
(or (and (string-match-p drive filename) t)
(and (string-match-p home filename) t)
(save-excursion
(when (string-match user-home filename)
(let ((init (match-string 1 filename)))
(not (string=
(file-name-base (expand-file-name init))
init))))))))
;;;; Defined in subr.el ;;;; Defined in subr.el
(compat-defmacro setq-local (&rest pairs) (compat-defmacro setq-local (&rest pairs)
@ -359,6 +399,29 @@ A nil value for either argument stands for the current time."
body))) body)))
(cons 'progn (nreverse body)))) (cons 'progn (nreverse body))))
(compat-defun provided-mode-derived-p (mode &rest modes)
"Non-nil if MODE is derived from one of MODES.
Uses the `derived-mode-parent' property of the symbol to trace backwards.
If you just want to check `major-mode', use `derived-mode-p'."
:realname compat--provided-mode-derived-p
;; If MODE is an alias, then look up the real mode function first.
(let ((alias (symbol-function mode)))
(when (and alias (symbolp alias))
(setq mode alias)))
(while
(and
(not (memq mode modes))
(let* ((parent (get mode 'derived-mode-parent))
(parentfn (symbol-function parent)))
(setq mode (if (and parentfn (symbolp parentfn)) parentfn parent)))))
mode)
;;* UNTESTED
(defun derived-mode-p (&rest modes)
"Non-nil if the current major mode is derived from one of MODES.
Uses the `derived-mode-parent' property of the symbol to trace backwards."
(apply #'compat--provided-mode-derived-p major-mode modes))
;;* UNTESTED ;;* UNTESTED
(compat-defmacro ignore-error (condition &rest body) (compat-defmacro ignore-error (condition &rest body)
"Execute BODY; if the error CONDITION occurs, return nil. "Execute BODY; if the error CONDITION occurs, return nil.

View File

@ -39,7 +39,9 @@
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs)) (require 'compat-macs "compat-macs.el")
(compat-declare-version "28.1")
;;;; Defined in fns.c ;;;; Defined in fns.c
@ -285,22 +287,23 @@ and BLUE, is normalized to have its value in [0,65535]."
;; [0] http://www.nic.funet.fi/pub/X11/X11R4/DOCS/color/Xcms.text ;; [0] http://www.nic.funet.fi/pub/X11/X11R4/DOCS/color/Xcms.text
;; [1] https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xcms/LRGB.c#L1392 ;; [1] https://gitlab.freedesktop.org/xorg/lib/libx11/-/blob/master/src/xcms/LRGB.c#L1392
((string-match ((string-match
(rx bos "rgbi:" (* space) ;; (rx bos "rgbi:" (* space)
(group (? (or "-" "+")) ;; (group (? (or "-" "+"))
(or (: (+ digit) (? "." (* digit))) ;; (or (: (+ digit) (? "." (* digit)))
(: "." (+ digit))) ;; (: "." (+ digit)))
(? "e" (? (or "-" "+")) (+ digit))) ;; (? "e" (? (or "-" "+")) (+ digit)))
"/" (* space) ;; "/" (* space)
(group (? (or "-" "+")) ;; (group (? (or "-" "+"))
(or (: (+ digit) (? "." (* digit))) ;; (or (: (+ digit) (? "." (* digit)))
(: "." (+ digit))) ;; (: "." (+ digit)))
(? "e" (? (or "-" "+")) (+ digit))) ;; (? "e" (? (or "-" "+")) (+ digit)))
"/" (* space) ;; "/" (* space)
(group (? (or "-" "+")) ;; (group (? (or "-" "+"))
(or (: (+ digit) (? "." (* digit))) ;; (or (: (+ digit) (? "." (* digit)))
(: "." (+ digit))) ;; (: "." (+ digit)))
(? "e" (? (or "-" "+")) (+ digit))) ;; (? "e" (? (or "-" "+")) (+ digit)))
eos) ;; eos)
"\\`rgbi:[[:space:]]*\\([+-]?\\(?:[[:digit:]]+\\(?:\\.[[:digit:]]*\\)?\\|\\.[[:digit:]]+\\)\\(?:e[+-]?[[:digit:]]+\\)?\\)/[[:space:]]*\\([+-]?\\(?:[[:digit:]]+\\(?:\\.[[:digit:]]*\\)?\\|\\.[[:digit:]]+\\)\\(?:e[+-]?[[:digit:]]+\\)?\\)/[[:space:]]*\\([+-]?\\(?:[[:digit:]]+\\(?:\\.[[:digit:]]*\\)?\\|\\.[[:digit:]]+\\)\\(?:e[+-]?[[:digit:]]+\\)?\\)\\'"
spec) spec)
(let ((r (round (* (string-to-number (match-string 1 spec)) 65535))) (let ((r (round (* (string-to-number (match-string 1 spec)) 65535)))
(g (round (* (string-to-number (match-string 2 spec)) 65535))) (g (round (* (string-to-number (match-string 2 spec)) 65535)))

View File

@ -5,6 +5,13 @@
(add-to-list 'load-path (directory-file-name (add-to-list 'load-path (directory-file-name
(or (file-name-directory #$) (car load-path)))) (or (file-name-directory #$) (car load-path))))
;;;### (autoloads nil "compat-27" "compat-27.el" (0 0 0 0))
;;; Generated autoloads from compat-27.el
(register-definition-prefixes "compat-27" '("derived-mode-p"))
;;;***
;;;### (autoloads nil "compat-help" "compat-help.el" (0 0 0 0)) ;;;### (autoloads nil "compat-help" "compat-help.el" (0 0 0 0))
;;; Generated autoloads from compat-help.el ;;; Generated autoloads from compat-help.el
@ -21,8 +28,8 @@
;;;*** ;;;***
;;;### (autoloads nil nil ("compat-24.el" "compat-25.el" "compat-26.el" ;;;### (autoloads nil nil ("compat-24.el" "compat-25.el" "compat-26.el"
;;;;;; "compat-27.el" "compat-28.el" "compat-font-lock.el" "compat-pkg.el" ;;;;;; "compat-28.el" "compat-font-lock.el" "compat-pkg.el" "compat.el")
;;;;;; "compat.el") (0 0 0 0)) ;;;;;; (0 0 0 0))
;;;*** ;;;***

View File

@ -1,4 +1,4 @@
;;; compat-macs.el --- Compatibility Macros -*- lexical-binding: t; -*- ;;; compat-macs.el --- Compatibility Macros -*- lexical-binding: t; no-byte-compile: t; -*-
;; Copyright (C) 2021, 2022 Free Software Foundation, Inc. ;; Copyright (C) 2021, 2022 Free Software Foundation, Inc.
@ -40,7 +40,17 @@ is loaded (in this case `compat-26').")
`(unless (bound-and-true-p compat--inhibit-prefixed) `(unless (bound-and-true-p compat--inhibit-prefixed)
,@body)) ,@body))
(defvar compat--generate-function #'compat--generate-minimal (defvar compat-current-version nil
"Default version to use when no explicit version was given.")
(defmacro compat-declare-version (version)
"Set the Emacs version that is currently being handled to VERSION."
;; FIXME: Avoid setting the version for any definition that might
;; follow, but try to restrict it to the current file/buffer.
(setq compat-current-version version)
nil)
(defvar compat--generate-function #'compat--generate-default
"Function used to generate compatibility code. "Function used to generate compatibility code.
The function must take six arguments: NAME, DEF-FN, INSTALL-FN, The function must take six arguments: NAME, DEF-FN, INSTALL-FN,
CHECK-FN, ATTR and TYPE. The resulting body is constructed by CHECK-FN, ATTR and TYPE. The resulting body is constructed by
@ -85,7 +95,7 @@ ignored:
TYPE is used to set the symbol property `compat-type' for NAME.") TYPE is used to set the symbol property `compat-type' for NAME.")
(defun compat--generate-minimal (name def-fn install-fn check-fn attr type) (defun compat--generate-default (name def-fn install-fn check-fn attr type)
"Generate a leaner compatibility definition. "Generate a leaner compatibility definition.
See `compat-generate-function' for details on the arguments NAME, See `compat-generate-function' for details on the arguments NAME,
DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE." DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE."
@ -93,23 +103,8 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE."
(max-version (plist-get attr :max-version)) (max-version (plist-get attr :max-version))
(feature (plist-get attr :feature)) (feature (plist-get attr :feature))
(cond (plist-get attr :cond)) (cond (plist-get attr :cond))
(version ; If you edit this, also edit `compat--generate-verbose'. (version (or (plist-get attr :version)
(or (plist-get attr :version) compat-current-version))
(let* ((file (car (last current-load-list)))
(file (if (stringp file)
;; Some library, which requires compat-XY.el,
;; is being compiled and compat-XY.el has not
;; been compiled yet.
file
;; compat-XY.el is being compiled.
(or (bound-and-true-p byte-compile-current-file)
;; Fallback to the buffer being evaluated.
(buffer-file-name)))))
(if (and file
(string-match
"compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" file))
(concat (match-string 1 file) ".1")
(error "BUG: No version number could be extracted")))))
(realname (or (plist-get attr :realname) (realname (or (plist-get attr :realname)
(intern (format "compat--%S" name)))) (intern (format "compat--%S" name))))
(check (cond (check (cond
@ -155,59 +150,6 @@ DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE."
`(eval-after-load ,feature `(funcall ',(lambda () ,body))) `(eval-after-load ,feature `(funcall ',(lambda () ,body)))
body)))))) body))))))
(defun compat--generate-verbose (name def-fn install-fn check-fn attr type)
"Generate a more verbose compatibility definition, fit for testing.
See `compat-generate-function' for details on the arguments NAME,
DEF-FN, INSTALL-FN, CHECK-FN, ATTR and TYPE."
(let* ((min-version (plist-get attr :min-version))
(max-version (plist-get attr :max-version))
(feature (plist-get attr :feature))
(cond (plist-get attr :cond))
(version ; If you edit this, also edit `compat--generate-minimal'.
(or (plist-get attr :version)
(let* ((file (car (last current-load-list)))
(file (if (stringp file)
file
(or (bound-and-true-p byte-compile-current-file)
(buffer-file-name)))))
(if (and file
(string-match
"compat-\\([[:digit:]]+\\)\\.\\(?:elc?\\)\\'" file))
(concat (match-string 1 file) ".1")
(error "BUG: No version number could be extracted")))))
(realname (or (plist-get attr :realname)
(intern (format "compat--%S" name))))
(body `(progn
(unless (or (null (get ',name 'compat-def))
(eq (get ',name 'compat-def) ',realname))
(error "Duplicate compatibility definition: %s (was %s, now %s)"
',name (get ',name 'compat-def) ',realname))
(put ',name 'compat-def ',realname)
,(funcall install-fn realname version))))
`(progn
(put ',realname 'compat-type ',type)
(put ',realname 'compat-version ,version)
(put ',realname 'compat-min-version ,min-version)
(put ',realname 'compat-max-version ,max-version)
(put ',realname 'compat-doc ,(plist-get attr :note))
,(funcall def-fn realname version)
(,@(cond
((or (and min-version
(version< emacs-version min-version))
(and max-version
(version< max-version emacs-version)))
'(compat--ignore))
((plist-get attr :prefix)
'(compat--inhibit-prefixed))
((and version (version<= version emacs-version) (not cond))
'(compat--ignore))
(`(when (and ,(if cond cond t)
,(funcall check-fn)))))
,(if feature
;; See https://nullprogram.com/blog/2018/02/22/:
`(eval-after-load ,feature `(funcall ',(lambda () ,body)))
body)))))
(defun compat-generate-common (name def-fn install-fn check-fn attr type) (defun compat-generate-common (name def-fn install-fn check-fn attr type)
"Common code for generating compatibility definitions. "Common code for generating compatibility definitions.
See `compat-generate-function' for details on the arguments NAME, See `compat-generate-function' for details on the arguments NAME,

View File

@ -1,2 +1,2 @@
;; Generated package description from compat.el -*- no-byte-compile: t -*- ;; Generated package description from compat.el -*- no-byte-compile: t -*-
(define-package "compat" "28.1.2.0" "Emacs Lisp Compatibility Library" '((emacs "24.3") (nadvice "0.3")) :commit "6b70229adf1ad7c2227789061dd1b2fc00d36ad8" :authors '(("Philip Kaludercic" . "philipk@posteo.net")) :maintainer '("Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp") :url "https://sr.ht/~pkal/compat") (define-package "compat" "28.1.2.2" "Emacs Lisp Compatibility Library" '((emacs "24.3") (nadvice "0.3")) :commit "d533692182c084bad623977b69f9dc298255eaab" :authors '(("Philip Kaludercic" . "philipk@posteo.net")) :maintainer '("Compat Development" . "~pkal/compat-devel@lists.sr.ht") :keywords '("lisp") :url "https://sr.ht/~pkal/compat")

View File

@ -4,7 +4,7 @@
;; Author: Philip Kaludercic <philipk@posteo.net> ;; Author: Philip Kaludercic <philipk@posteo.net>
;; Maintainer: Compat Development <~pkal/compat-devel@lists.sr.ht> ;; Maintainer: Compat Development <~pkal/compat-devel@lists.sr.ht>
;; Version: 28.1.2.0 ;; Version: 28.1.2.2
;; URL: https://sr.ht/~pkal/compat ;; URL: https://sr.ht/~pkal/compat
;; Package-Requires: ((emacs "24.3") (nadvice "0.3")) ;; Package-Requires: ((emacs "24.3") (nadvice "0.3"))
;; Keywords: lisp ;; Keywords: lisp
@ -33,20 +33,13 @@
;; ;;
;; Not every function provided in newer versions of Emacs is provided ;; Not every function provided in newer versions of Emacs is provided
;; here. Some depend on new features from the core, others cannot be ;; here. Some depend on new features from the core, others cannot be
;; implemented to a meaningful degree. The main audience for this ;; implemented to a meaningful degree. Please consult the Compat
;; library are not regular users, but package maintainers. Therefore ;; manual for details. The main audience for this library are not
;; commands and user options are usually not implemented here. ;; regular users, but package maintainers. Therefore commands and
;; user options are usually not implemented here.
;;; Code: ;;; Code:
(eval-when-compile (require 'compat-macs))
;; We load all the components of Compat with a copied value of
;; `features' list, that will prevent the list being modified, and all
;; the files can be loaded again. This is done so that
;; `compat--inhibit-prefixed' can take effect when loading `compat',
;; and do nothing when loading each sub-feature manually.
(defvar compat--inhibit-prefixed) (defvar compat--inhibit-prefixed)
(let ((compat--inhibit-prefixed (not (bound-and-true-p compat-testing)))) (let ((compat--inhibit-prefixed (not (bound-and-true-p compat-testing))))
;; Instead of using `require', we manually check `features' and call ;; Instead of using `require', we manually check `features' and call

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
(define-package "dash" "20220608.1931" "A modern list library for Emacs" (define-package "dash" "20221013.836" "A modern list library for Emacs"
'((emacs "24")) '((emacs "24"))
:commit "0ac1ecf6b56eb67bb81a3cf70f8d4354b5782341" :authors :commit "3df46d7d9fe74f52a661565888e4d31fd760f0df" :authors
'(("Magnar Sveen" . "magnars@gmail.com")) '(("Magnar Sveen" . "magnars@gmail.com"))
:maintainer :maintainer
'("Magnar Sveen" . "magnars@gmail.com") '("Magnar Sveen" . "magnars@gmail.com")

View File

@ -762,7 +762,15 @@ See also: `-flatten'"
(setq list (apply #'append (mapcar #'-list list)))) (setq list (apply #'append (mapcar #'-list list))))
list) list)
(defalias '-concat #'append) (defalias '-concat #'append
"Concatenate all the arguments and make the result a list.
The result is a list whose elements are the elements of all the arguments.
Each argument may be a list, vector or string.
All arguments except the last argument are copied. The last argument
is just used as the tail of the new list.
\(fn &rest SEQUENCES)")
(defalias '-copy 'copy-sequence (defalias '-copy 'copy-sequence
"Create a shallow copy of LIST. "Create a shallow copy of LIST.

View File

@ -641,8 +641,10 @@ Functions returning a modified copy of the input list.
-- Function: -concat (&rest sequences) -- Function: -concat (&rest sequences)
Concatenate all the arguments and make the result a list. The Concatenate all the arguments and make the result a list. The
result is a list whose elements are the elements of all the result is a list whose elements are the elements of all the
arguments. Each argument may be a list, vector or string. The arguments. Each argument may be a list, vector or string.
last argument is not copied, just used as the tail of the new list.
All arguments except the last argument are copied. The last
argument is just used as the tail of the new list.
(-concat '(1)) (-concat '(1))
⇒ (1) ⇒ (1)
@ -4469,8 +4471,8 @@ Index
(line 373) (line 373)
* -fixfn: Function combinators. * -fixfn: Function combinators.
(line 224) (line 224)
* -flatten: List to list. (line 36) * -flatten: List to list. (line 38)
* -flatten-n: List to list. (line 58) * -flatten-n: List to list. (line 60)
* -flip: Function combinators. * -flip: Function combinators.
(line 95) (line 95)
* -fourth-item: Other list operations. * -fourth-item: Other list operations.
@ -4482,7 +4484,7 @@ Index
* -if-let: Binding. (line 34) * -if-let: Binding. (line 34)
* -if-let*: Binding. (line 45) * -if-let*: Binding. (line 45)
* -inits: Reductions. (line 222) * -inits: Reductions. (line 222)
* -insert-at: List to list. (line 112) * -insert-at: List to list. (line 114)
* -interleave: Other list operations. * -interleave: Other list operations.
(line 56) (line 56)
* -interpose: Other list operations. * -interpose: Other list operations.
@ -4555,16 +4557,16 @@ Index
* -reductions-r: Reductions. (line 154) * -reductions-r: Reductions. (line 154)
* -reductions-r-from: Reductions. (line 118) * -reductions-r-from: Reductions. (line 118)
* -remove: Sublist selection. (line 26) * -remove: Sublist selection. (line 26)
* -remove-at: List to list. (line 149) * -remove-at: List to list. (line 151)
* -remove-at-indices: List to list. (line 162) * -remove-at-indices: List to list. (line 164)
* -remove-first: Sublist selection. (line 44) * -remove-first: Sublist selection. (line 44)
* -remove-item: Sublist selection. (line 84) * -remove-item: Sublist selection. (line 84)
* -remove-last: Sublist selection. (line 65) * -remove-last: Sublist selection. (line 65)
* -repeat: Unfolding. (line 44) * -repeat: Unfolding. (line 44)
* -replace: List to list. (line 70) * -replace: List to list. (line 72)
* -replace-at: List to list. (line 123) * -replace-at: List to list. (line 125)
* -replace-first: List to list. (line 84) * -replace-first: List to list. (line 86)
* -replace-last: List to list. (line 98) * -replace-last: List to list. (line 100)
* -rotate: Other list operations. * -rotate: Other list operations.
(line 8) (line 8)
* -rotate-args: Function combinators. * -rotate-args: Function combinators.
@ -4618,7 +4620,7 @@ Index
* -union: Set operations. (line 8) * -union: Set operations. (line 8)
* -unzip: Other list operations. * -unzip: Other list operations.
(line 147) (line 147)
* -update-at: List to list. (line 135) * -update-at: List to list. (line 137)
* -when-let: Binding. (line 9) * -when-let: Binding. (line 9)
* -when-let*: Binding. (line 21) * -when-let*: Binding. (line 21)
* -zip: Other list operations. * -zip: Other list operations.
@ -4675,176 +4677,176 @@ Ref: -select-column20467
Node: List to list20930 Node: List to list20930
Ref: -keep21122 Ref: -keep21122
Ref: -concat21698 Ref: -concat21698
Ref: -flatten22181 Ref: -flatten22226
Ref: -flatten-n22943 Ref: -flatten-n22988
Ref: -replace23327 Ref: -replace23372
Ref: -replace-first23788 Ref: -replace-first23833
Ref: -replace-last24283 Ref: -replace-last24328
Ref: -insert-at24771 Ref: -insert-at24816
Ref: -replace-at25096 Ref: -replace-at25141
Ref: -update-at25483 Ref: -update-at25528
Ref: -remove-at26024 Ref: -remove-at26069
Ref: -remove-at-indices26509 Ref: -remove-at-indices26554
Node: Reductions27088 Node: Reductions27133
Ref: -reduce-from27284 Ref: -reduce-from27329
Ref: -reduce-r-from28008 Ref: -reduce-r-from28053
Ref: -reduce29271 Ref: -reduce29316
Ref: -reduce-r30022 Ref: -reduce-r30067
Ref: -reductions-from31300 Ref: -reductions-from31345
Ref: -reductions-r-from32106 Ref: -reductions-r-from32151
Ref: -reductions32936 Ref: -reductions32981
Ref: -reductions-r33647 Ref: -reductions-r33692
Ref: -count34392 Ref: -count34437
Ref: -sum34622 Ref: -sum34667
Ref: -running-sum34810 Ref: -running-sum34855
Ref: -product35131 Ref: -product35176
Ref: -running-product35339 Ref: -running-product35384
Ref: -inits35680 Ref: -inits35725
Ref: -tails35925 Ref: -tails35970
Ref: -common-prefix36169 Ref: -common-prefix36214
Ref: -common-suffix36463 Ref: -common-suffix36508
Ref: -min36757 Ref: -min36802
Ref: -min-by36983 Ref: -min-by37028
Ref: -max37504 Ref: -max37549
Ref: -max-by37729 Ref: -max-by37774
Ref: -frequencies38255 Ref: -frequencies38300
Node: Unfolding38870 Node: Unfolding38915
Ref: -iterate39111 Ref: -iterate39156
Ref: -unfold39558 Ref: -unfold39603
Ref: -repeat40363 Ref: -repeat40408
Ref: -cycle40647 Ref: -cycle40692
Node: Predicates41046 Node: Predicates41091
Ref: -some41223 Ref: -some41268
Ref: -every41652 Ref: -every41697
Ref: -any?42366 Ref: -any?42411
Ref: -all?42715 Ref: -all?42760
Ref: -none?43457 Ref: -none?43502
Ref: -only-some?43777 Ref: -only-some?43822
Ref: -contains?44322 Ref: -contains?44367
Ref: -is-prefix?44828 Ref: -is-prefix?44873
Ref: -is-suffix?45160 Ref: -is-suffix?45205
Ref: -is-infix?45492 Ref: -is-infix?45537
Ref: -cons-pair?45852 Ref: -cons-pair?45897
Node: Partitioning46183 Node: Partitioning46228
Ref: -split-at46371 Ref: -split-at46416
Ref: -split-with47035 Ref: -split-with47080
Ref: -split-on47675 Ref: -split-on47720
Ref: -split-when48346 Ref: -split-when48391
Ref: -separate48989 Ref: -separate49034
Ref: -partition49523 Ref: -partition49568
Ref: -partition-all49972 Ref: -partition-all50017
Ref: -partition-in-steps50397 Ref: -partition-in-steps50442
Ref: -partition-all-in-steps50943 Ref: -partition-all-in-steps50988
Ref: -partition-by51457 Ref: -partition-by51502
Ref: -partition-by-header51835 Ref: -partition-by-header51880
Ref: -partition-after-pred52436 Ref: -partition-after-pred52481
Ref: -partition-before-pred52889 Ref: -partition-before-pred52934
Ref: -partition-before-item53274 Ref: -partition-before-item53319
Ref: -partition-after-item53581 Ref: -partition-after-item53626
Ref: -group-by53883 Ref: -group-by53928
Node: Indexing54316 Node: Indexing54361
Ref: -elem-index54518 Ref: -elem-index54563
Ref: -elem-indices55005 Ref: -elem-indices55050
Ref: -find-index55464 Ref: -find-index55509
Ref: -find-last-index56133 Ref: -find-last-index56178
Ref: -find-indices56784 Ref: -find-indices56829
Ref: -grade-up57546 Ref: -grade-up57591
Ref: -grade-down57953 Ref: -grade-down57998
Node: Set operations58367 Node: Set operations58412
Ref: -union58550 Ref: -union58595
Ref: -difference58980 Ref: -difference59025
Ref: -intersection59408 Ref: -intersection59453
Ref: -powerset59837 Ref: -powerset59882
Ref: -permutations60114 Ref: -permutations60159
Ref: -distinct60552 Ref: -distinct60597
Ref: -same-items?60946 Ref: -same-items?60991
Node: Other list operations61555 Node: Other list operations61600
Ref: -rotate61780 Ref: -rotate61825
Ref: -cons*62133 Ref: -cons*62178
Ref: -snoc62555 Ref: -snoc62600
Ref: -interpose62967 Ref: -interpose63012
Ref: -interleave63261 Ref: -interleave63306
Ref: -iota63627 Ref: -iota63672
Ref: -zip-with64110 Ref: -zip-with64155
Ref: -zip64824 Ref: -zip64869
Ref: -zip-lists65653 Ref: -zip-lists65698
Ref: -zip-fill66351 Ref: -zip-fill66396
Ref: -unzip66673 Ref: -unzip66718
Ref: -pad67415 Ref: -pad67460
Ref: -table67900 Ref: -table67945
Ref: -table-flat68686 Ref: -table-flat68731
Ref: -first69691 Ref: -first69736
Ref: -last70224 Ref: -last70269
Ref: -first-item70570 Ref: -first-item70615
Ref: -second-item70982 Ref: -second-item71027
Ref: -third-item71399 Ref: -third-item71444
Ref: -fourth-item71774 Ref: -fourth-item71819
Ref: -fifth-item72152 Ref: -fifth-item72197
Ref: -last-item72527 Ref: -last-item72572
Ref: -butlast72888 Ref: -butlast72933
Ref: -sort73133 Ref: -sort73178
Ref: -list73625 Ref: -list73670
Ref: -fix74194 Ref: -fix74239
Node: Tree operations74683 Node: Tree operations74728
Ref: -tree-seq74879 Ref: -tree-seq74924
Ref: -tree-map75740 Ref: -tree-map75785
Ref: -tree-map-nodes76180 Ref: -tree-map-nodes76225
Ref: -tree-reduce77044 Ref: -tree-reduce77089
Ref: -tree-reduce-from77926 Ref: -tree-reduce-from77971
Ref: -tree-mapreduce78526 Ref: -tree-mapreduce78571
Ref: -tree-mapreduce-from79385 Ref: -tree-mapreduce-from79430
Ref: -clone80670 Ref: -clone80715
Node: Threading macros80997 Node: Threading macros81042
Ref: ->81222 Ref: ->81267
Ref: ->>81710 Ref: ->>81755
Ref: -->82213 Ref: -->82258
Ref: -as->82769 Ref: -as->82814
Ref: -some->83223 Ref: -some->83268
Ref: -some->>83608 Ref: -some->>83653
Ref: -some-->84055 Ref: -some-->84100
Ref: -doto84622 Ref: -doto84667
Node: Binding85175 Node: Binding85220
Ref: -when-let85382 Ref: -when-let85427
Ref: -when-let*85843 Ref: -when-let*85888
Ref: -if-let86372 Ref: -if-let86417
Ref: -if-let*86738 Ref: -if-let*86783
Ref: -let87361 Ref: -let87406
Ref: -let*93451 Ref: -let*93496
Ref: -lambda94388 Ref: -lambda94433
Ref: -setq95194 Ref: -setq95239
Node: Side effects95995 Node: Side effects96040
Ref: -each96189 Ref: -each96234
Ref: -each-while96716 Ref: -each-while96761
Ref: -each-indexed97336 Ref: -each-indexed97381
Ref: -each-r97928 Ref: -each-r97973
Ref: -each-r-while98370 Ref: -each-r-while98415
Ref: -dotimes99014 Ref: -dotimes99059
Node: Destructive operations99567 Node: Destructive operations99612
Ref: !cons99785 Ref: !cons99830
Ref: !cdr99989 Ref: !cdr100034
Node: Function combinators100182 Node: Function combinators100227
Ref: -partial100386 Ref: -partial100431
Ref: -rpartial100904 Ref: -rpartial100949
Ref: -juxt101552 Ref: -juxt101597
Ref: -compose102004 Ref: -compose102049
Ref: -applify102611 Ref: -applify102656
Ref: -on103041 Ref: -on103086
Ref: -flip103813 Ref: -flip103858
Ref: -rotate-args104337 Ref: -rotate-args104382
Ref: -const104966 Ref: -const105011
Ref: -cut105308 Ref: -cut105353
Ref: -not105788 Ref: -not105833
Ref: -orfn106332 Ref: -orfn106377
Ref: -andfn107125 Ref: -andfn107170
Ref: -iteratefn107912 Ref: -iteratefn107957
Ref: -fixfn108614 Ref: -fixfn108659
Ref: -prodfn110188 Ref: -prodfn110233
Node: Development111349 Node: Development111394
Node: Contribute111638 Node: Contribute111683
Node: Contributors112650 Node: Contributors112695
Node: FDL114743 Node: FDL114788
Node: GPL140063 Node: GPL140108
Node: Index177812 Node: Index177857
 
End Tag Table End Tag Table

View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -1,6 +1,6 @@
(define-package "dashboard" "20220907.759" "A startup screen extracted from Spacemacs" (define-package "dashboard" "20220922.509" "A startup screen extracted from Spacemacs"
'((emacs "26.1")) '((emacs "26.1"))
:commit "02c350d7a767f577c8cccee84904c423f86fae54" :authors :commit "554dc6fac1362dd6b66318c8250eea8bd63aa92f" :authors
'(("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com")) '(("Rakan Al-Hneiti" . "rakan.alhneiti@gmail.com"))
:maintainer :maintainer
'("Jesús Martínez" . "jesusmartinez93@gmail.com") '("Jesús Martínez" . "jesusmartinez93@gmail.com")

View File

@ -23,8 +23,8 @@
;;; Code: ;;; Code:
(require 'cl-lib) (require 'cl-lib)
(require 'subr-x)
(require 'image) (require 'image)
(require 'subr-x)
;; Compiler pacifier ;; Compiler pacifier
(declare-function all-the-icons-icon-for-dir "ext:all-the-icons.el") (declare-function all-the-icons-icon-for-dir "ext:all-the-icons.el")
@ -49,6 +49,7 @@
(declare-function org-get-category "ext:org.el") (declare-function org-get-category "ext:org.el")
(declare-function org-get-deadline-time "ext:org.el") (declare-function org-get-deadline-time "ext:org.el")
(declare-function org-get-heading "ext:org.el") (declare-function org-get-heading "ext:org.el")
(declare-function org-get-priority "ext:org.el")
(declare-function org-get-scheduled-time "ext:org.el") (declare-function org-get-scheduled-time "ext:org.el")
(declare-function org-get-tags "ext:org.el") (declare-function org-get-tags "ext:org.el")
(declare-function org-get-todo-face "ext:org.el") (declare-function org-get-todo-face "ext:org.el")
@ -68,6 +69,8 @@
(defvar org-todo-keywords-1) (defvar org-todo-keywords-1)
(defvar all-the-icons-dir-icon-alist) (defvar all-the-icons-dir-icon-alist)
(defvar package-activated-list) (defvar package-activated-list)
(declare-function string-pixel-width "subr-x.el") ; TODO: remove this after 29.1
(declare-function shr-string-pixel-width "shr.el") ; TODO: remove this after 29.1
(defcustom dashboard-page-separator "\n\n" (defcustom dashboard-page-separator "\n\n"
"Separator to use between the different pages." "Separator to use between the different pages."
@ -378,13 +381,27 @@ If nil it is disabled. Possible values for list-type are:
"Call FNC with ARGS if exists." "Call FNC with ARGS if exists."
(when (fboundp fnc) (if args (funcall fnc args) (funcall fnc)))) (when (fboundp fnc) (if args (funcall fnc args) (funcall fnc))))
;; TODO: Use function `string-pixel-width' after 29.1
(defun dashboard-string-pixel-width (str)
"Return the width of STR in pixels."
(if (fboundp #'string-pixel-width)
(string-pixel-width str)
(require 'shr)
(shr-string-pixel-width str)))
(defun dashboard-str-len (str)
"Calculate STR in pixel width."
(let ((width (window-font-width))
(len (dashboard-string-pixel-width str)))
(+ (/ len width)
(if (zerop (% len width)) 0 1)))) ; add one if exceeed
;; ;;
;; Generic widget helpers ;; Generic widget helpers
;; ;;
(defun dashboard-subseq (seq end) (defun dashboard-subseq (seq end)
"Return the subsequence of SEQ from 0 to END." "Return the subsequence of SEQ from 0 to END."
(let ((len (length seq))) (let ((len (length seq))) (butlast seq (- len (min len end)))))
(butlast seq (- len (min len end)))))
(defun dashboard-get-shortcut-name (item) (defun dashboard-get-shortcut-name (item)
"Get the shortcut name to be used for ITEM." "Get the shortcut name to be used for ITEM."
@ -732,32 +749,39 @@ to widget creation."
(defun dashboard-shorten-path-beginning (path) (defun dashboard-shorten-path-beginning (path)
"Shorten PATH from beginning if exceeding maximum length." "Shorten PATH from beginning if exceeding maximum length."
(let* ((len-path (length path)) (len-rep (length dashboard-path-shorten-string)) (let* ((len-path (length path))
(slen-path (dashboard-str-len path))
(len-rep (dashboard-str-len dashboard-path-shorten-string))
(len-total (- dashboard-path-max-length len-rep)) (len-total (- dashboard-path-max-length len-rep))
front) front)
(if (<= len-path dashboard-path-max-length) path (if (<= slen-path dashboard-path-max-length) path
(setq front (ignore-errors (substring path (- len-path len-total) len-path))) (setq front (ignore-errors (substring path (- slen-path len-total) len-path)))
(if front (concat dashboard-path-shorten-string front) "")))) (if front (concat dashboard-path-shorten-string front) ""))))
(defun dashboard-shorten-path-middle (path) (defun dashboard-shorten-path-middle (path)
"Shorten PATH from middle if exceeding maximum length." "Shorten PATH from middle if exceeding maximum length."
(let* ((len-path (length path)) (len-rep (length dashboard-path-shorten-string)) (let* ((len-path (length path))
(slen-path (dashboard-str-len path))
(len-rep (dashboard-str-len dashboard-path-shorten-string))
(len-total (- dashboard-path-max-length len-rep)) (len-total (- dashboard-path-max-length len-rep))
(center (/ len-total 2)) (center (/ len-total 2))
(end-back center) (end-back center)
(start-front (- len-path center)) (start-front (- slen-path center))
back front) back front)
(if (<= len-path dashboard-path-max-length) path (if (<= slen-path dashboard-path-max-length) path
(setq back (substring path 0 end-back) (setq back (substring path 0 end-back)
front (ignore-errors (substring path start-front len-path))) front (ignore-errors (substring path start-front len-path)))
(if front (concat back dashboard-path-shorten-string front) "")))) (if front (concat back dashboard-path-shorten-string front) ""))))
(defun dashboard-shorten-path-end (path) (defun dashboard-shorten-path-end (path)
"Shorten PATH from end if exceeding maximum length." "Shorten PATH from end if exceeding maximum length."
(let* ((len-path (length path)) (len-rep (length dashboard-path-shorten-string)) (let* ((len-path (length path))
(len-total (- dashboard-path-max-length len-rep)) (slen-path (dashboard-str-len path))
(len-rep (dashboard-str-len dashboard-path-shorten-string))
(diff (- slen-path len-path))
(len-total (- dashboard-path-max-length len-rep diff))
back) back)
(if (<= len-path dashboard-path-max-length) path (if (<= slen-path dashboard-path-max-length) path
(setq back (ignore-errors (substring path 0 len-total))) (setq back (ignore-errors (substring path 0 len-total)))
(if (and back (< 0 dashboard-path-max-length)) (if (and back (< 0 dashboard-path-max-length))
(concat back dashboard-path-shorten-string) "")))) (concat back dashboard-path-shorten-string) ""))))
@ -833,21 +857,21 @@ to widget creation."
(setq len-list (length recentf-list)) (setq len-list (length recentf-list))
(while (and (< count len-item) (< count len-list)) (while (and (< count len-item) (< count len-list))
(setq base (nth count recentf-list) (setq base (nth count recentf-list)
align-length (max align-length (length (dashboard-f-filename base)))) align-length (max align-length (dashboard-str-len (dashboard-f-filename base))))
(cl-incf count))) (cl-incf count)))
(`bookmarks (`bookmarks
(let ((bookmarks-lst (bookmark-all-names))) (let ((bookmarks-lst (bookmark-all-names)))
(setq len-list (length bookmarks-lst)) (setq len-list (length bookmarks-lst))
(while (and (< count len-item) (< count len-list)) (while (and (< count len-item) (< count len-list))
(setq base (nth count bookmarks-lst) (setq base (nth count bookmarks-lst)
align-length (max align-length (length base))) align-length (max align-length (dashboard-str-len base)))
(cl-incf count)))) (cl-incf count))))
(`projects (`projects
(let ((projects-lst (dashboard-projects-backend-load-projects))) (let ((projects-lst (dashboard-projects-backend-load-projects)))
(setq len-list (length projects-lst)) (setq len-list (length projects-lst))
(while (and (< count len-item) (< count len-list)) (while (and (< count len-item) (< count len-list))
(setq base (nth count projects-lst) (setq base (nth count projects-lst)
align-length (max align-length (length (dashboard-f-base base)))) align-length (max align-length (dashboard-str-len (dashboard-f-base base))))
(cl-incf count)))) (cl-incf count))))
(t (error "Unknown type for align length: %s" type))) (t (error "Unknown type for align length: %s" type)))
align-length)) align-length))
@ -1071,7 +1095,8 @@ It is the MATCH attribute for `org-map-entries'"
(defcustom dashboard-agenda-sort-strategy nil (defcustom dashboard-agenda-sort-strategy nil
"A list of strategies to sort the agenda. If nil agenda is not sorted." "A list of strategies to sort the agenda. If nil agenda is not sorted."
:type '(repeat (choice (const time-up) (const time-down) :type '(repeat (choice (const priority-up) (const priority-down)
(const time-up) (const time-down)
(const todo-state-up) (const todo-state-down))) (const todo-state-up) (const todo-state-down)))
:group 'dashboard) :group 'dashboard)
@ -1085,7 +1110,8 @@ each agenda entry."
:group 'dashboard) :group 'dashboard)
(defun dashboard-agenda-entry-format () (defun dashboard-agenda-entry-format ()
"Format agenda entry to show it on dashboard." "Format agenda entry to show it on dashboard.
Also,it set text properties that latter are used to sort entries and perform different actions."
(let* ((scheduled-time (org-get-scheduled-time (point))) (let* ((scheduled-time (org-get-scheduled-time (point)))
(deadline-time (org-get-deadline-time (point))) (deadline-time (org-get-deadline-time (point)))
(entry-timestamp (dashboard-agenda--entry-timestamp (point))) (entry-timestamp (dashboard-agenda--entry-timestamp (point)))
@ -1097,12 +1123,14 @@ each agenda entry."
(org-get-category) (org-get-category)
(org-get-tags))) (org-get-tags)))
(todo-state (org-get-todo-state)) (todo-state (org-get-todo-state))
(item-priority (org-get-priority (org-get-heading t t t t)))
(todo-index (and todo-state (todo-index (and todo-state
(length (member todo-state org-todo-keywords-1)))) (length (member todo-state org-todo-keywords-1))))
(entry-data (list 'dashboard-agenda-time entry-time (entry-data (list 'dashboard-agenda-file (buffer-file-name)
'dashboard-agenda-loc (point)
'dashboard-agenda-priority item-priority
'dashboard-agenda-todo-index todo-index 'dashboard-agenda-todo-index todo-index
'dashboard-agenda-file (buffer-file-name) 'dashboard-agenda-time entry-time)))
'dashboard-agenda-loc (point))))
(add-text-properties 0 (length item) entry-data item) (add-text-properties 0 (length item) entry-data item)
item)) item))
@ -1218,6 +1246,8 @@ found for the strategy it uses nil predicate."
(defun dashboard-agenda--build-sort-function-predicate (strategy) (defun dashboard-agenda--build-sort-function-predicate (strategy)
"Return the predicate to compare two entryes depending on the `STRATEGY'." "Return the predicate to compare two entryes depending on the `STRATEGY'."
(cl-case strategy (cl-case strategy
(`priority-up '>)
(`priority-down '<)
(`time-up 'org-time-less-p) (`time-up 'org-time-less-p)
(`time-down (lambda (a b) (org-time-less-p b a))) (`time-down (lambda (a b) (org-time-less-p b a)))
(`todo-state-up '>) (`todo-state-up '>)
@ -1226,6 +1256,7 @@ found for the strategy it uses nil predicate."
(defun dashboard-agenda--build-sort-function-attribute (strategy) (defun dashboard-agenda--build-sort-function-attribute (strategy)
"Return the argument to compare two entries depending to the `STRATEGY'." "Return the argument to compare two entries depending to the `STRATEGY'."
(cond (cond
((memq strategy '(priority-up priority-down)) 'dashboard-agenda-priority)
((memq strategy '(time-up time-down)) 'dashboard-agenda-time) ((memq strategy '(time-up time-down)) 'dashboard-agenda-time)
((memq strategy '(todo-state-up todo-state-down)) 'dashboard-agenda-todo-index) ((memq strategy '(todo-state-up todo-state-down)) 'dashboard-agenda-todo-index)
(t nil))) (t nil)))

View File

@ -1,2 +0,0 @@
;;; Generated package description from dired-single.el -*- no-byte-compile: t -*-
(define-package "dired-single" "20220726.137" "Reuse the current dired buffer to visit a directory" 'nil :commit "48532d747f0098280050721b5d016ec59c97c77c" :keywords '("dired" "reuse" "buffer") :url "https://github.com/crocket/dired-single")

View File

@ -0,0 +1,2 @@
;;; Generated package description from dired-single.el -*- no-byte-compile: t -*-
(define-package "dired-single" "20220917.625" "Reuse the current dired buffer to visit a directory" 'nil :commit "3bb53664ccdfb2f911667947be6b6c022e4ec758" :keywords '("dired" "reuse" "buffer") :url "https://github.com/crocket/dired-single")

View File

@ -1,8 +1,8 @@
;;; dired-single.el --- Reuse the current dired buffer to visit a directory ;;; dired-single.el --- Reuse the current dired buffer to visit a directory
;; Version: 0.3.0 ;; Version: 0.3.0
;; Package-Version: 20220726.137 ;; Package-Version: 20220917.625
;; Package-Commit: 48532d747f0098280050721b5d016ec59c97c77c ;; Package-Commit: 3bb53664ccdfb2f911667947be6b6c022e4ec758
;; Keywords: dired, reuse, buffer ;; Keywords: dired, reuse, buffer
;; URL: https://github.com/crocket/dired-single ;; URL: https://github.com/crocket/dired-single
;; License: public-domain ;; License: public-domain
@ -204,7 +204,9 @@ Will also seek to uniquify the 'real' buffer name."
"Like `dired-up-directory' but with `dired-single-buffer'." "Like `dired-up-directory' but with `dired-single-buffer'."
(interactive) (interactive)
;; replace dired with dired-single-buffer ;; replace dired with dired-single-buffer
(cl-letf (((symbol-function 'dired) (symbol-function 'dired-single-buffer))) (cl-letf (((symbol-function 'dired) (symbol-function 'dired-single-buffer))
;; Emacs 28 version of dired-up-directory implementation
((symbol-function 'dired--find-possibly-alternative-file) (symbol-function 'dired-single-buffer)))
(dired-up-directory other-window))) (dired-up-directory other-window)))
;;; ************************************************************************** ;;; **************************************************************************

View File

@ -50,10 +50,7 @@
(when (eq system-type 'windows-nt) (when (eq system-type 'windows-nt)
(setq inhibit-compacting-font-caches t)) (setq inhibit-compacting-font-caches t))
;; WORKAROUND: `string-pixel-width' is introduced in 29, ;; For better performance, because `window-font-width' consumes a lot.
;; and is able to calculate the accurate string width.
;; Below is the workaround for backward compatibility
;; since `window-font-width' consumes a lot.
(defvar doom-modeline--font-width-cache nil) (defvar doom-modeline--font-width-cache nil)
(defun doom-modeline--font-width () (defun doom-modeline--font-width ()
"Cache the font width for better performance." "Cache the font width for better performance."
@ -72,11 +69,10 @@
(setq doom-modeline--font-width-cache nil) (setq doom-modeline--font-width-cache nil)
(doom-modeline--font-width)) (doom-modeline--font-width))
(unless (fboundp 'string-pixel-width) (add-hook 'window-setup-hook #'doom-modeline-refresh-font-width-cache)
(add-hook 'window-setup-hook #'doom-modeline-refresh-font-width-cache) (add-hook 'after-make-frame-functions #'doom-modeline-refresh-font-width-cache)
(add-hook 'after-make-frame-functions #'doom-modeline-refresh-font-width-cache) (add-hook 'after-setting-font-hook #'doom-modeline-refresh-font-width-cache)
(add-hook 'after-setting-font-hook #'doom-modeline-refresh-font-width-cache) (add-hook 'server-after-make-frame-hook #'doom-modeline-refresh-font-width-cache)
(add-hook 'server-after-make-frame-hook #'doom-modeline-refresh-font-width-cache))
;; ;;
@ -459,6 +455,13 @@ It requires `ghub' and `async' packages."
:type 'boolean :type 'boolean
:group 'doom-modeline) :group 'doom-modeline)
(defcustom doom-modeline-modal t
"Whether display the modal state.
Including `evil', `overwrite', `god', `ryo' and `xah-fly-keys', etc."
:type 'boolean
:group 'doom-modeline)
(defcustom doom-modeline-modal-icon t (defcustom doom-modeline-modal-icon t
"Whether display the modal state icon. "Whether display the modal state icon.
@ -536,6 +539,12 @@ If nil, display only if the mode line is active."
:type 'boolean :type 'boolean
:group 'doom-modeline) :group 'doom-modeline)
(defcustom doom-modeline-always-visible-segments nil
"A list of segments that should be visible even in
inactive windows."
:type '(repeat symbol)
:group 'doom-modeline)
;; ;;
;; Faces ;; Faces
@ -568,7 +577,7 @@ If nil, display only if the mode line is active."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-buffer-modified (defface doom-modeline-buffer-modified
'((t (:inherit (error bold) :background nil))) '((t (:inherit (error bold) :background unspecified)))
"Face used for the \\='unsaved\\=' symbol in the mode-line." "Face used for the \\='unsaved\\=' symbol in the mode-line."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
@ -667,37 +676,82 @@ Also see the face `doom-modeline-unread-number'."
(defface doom-modeline-evil-emacs-state (defface doom-modeline-evil-emacs-state
'((t (:inherit (font-lock-builtin-face bold)))) '((t (:inherit (font-lock-builtin-face bold))))
"Face for the Emacs state tag in evil state indicator." "Face for the Emacs state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-insert-state (defface doom-modeline-evil-insert-state
'((t (:inherit (font-lock-keyword-face bold)))) '((t (:inherit (font-lock-keyword-face bold))))
"Face for the insert state tag in evil state indicator." "Face for the insert state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-motion-state (defface doom-modeline-evil-motion-state
'((t :inherit (font-lock-doc-face bold) :slant normal)) '((t (:inherit (font-lock-doc-face bold) :slant normal)))
"Face for the motion state tag in evil state indicator." "Face for the motion state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-normal-state (defface doom-modeline-evil-normal-state
'((t (:inherit doom-modeline-info))) '((t (:inherit doom-modeline-info)))
"Face for the normal state tag in evil state indicator." "Face for the normal state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-operator-state (defface doom-modeline-evil-operator-state
'((t (:inherit doom-modeline-buffer-file))) '((t (:inherit doom-modeline-buffer-file)))
"Face for the operator state tag in evil state indicator." "Face for the operator state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-visual-state (defface doom-modeline-evil-visual-state
'((t (:inherit doom-modeline-warning))) '((t (:inherit doom-modeline-warning)))
"Face for the visual state tag in evil state indicator." "Face for the visual state tag in evil indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-evil-replace-state (defface doom-modeline-evil-replace-state
'((t (:inherit doom-modeline-urgent))) '((t (:inherit doom-modeline-urgent)))
"Face for the replace state tag in evil state indicator." "Face for the replace state tag in evil indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-overwrite
'((t (:inherit doom-modeline-urgent)))
"Face for overwrite indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-god
'((t (:inherit doom-modeline-info)))
"Face for god-mode indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-ryo
'((t (:inherit doom-modeline-ryo)))
"Face for RYO indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-fly-insert-state
'((t (:inherit (font-lock-keyword-face bold))))
"Face for the insert state in xah-fly-keys indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-fly-normal-state
'((t (:inherit doom-modeline-info)))
"Face for the normal state in xah-fly-keys indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-boon-command-state
'((t (:inherit doom-modeline-info)))
"Face for the command state tag in boon indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-boon-insert-state
'((t (:inherit (font-lock-keyword-face bold))))
"Face for the insert state tag in boon indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-boon-special-state
'((t (:inherit (font-lock-builtin-face bold))))
"Face for the special state tag in boon indicator."
:group 'doom-modeline-faces)
(defface doom-modeline-boon-off-state
'((t (:inherit doom-modeline-buffer-file)))
"Face for the off state tag in boon indicator."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-persp-name (defface doom-modeline-persp-name
@ -779,6 +833,11 @@ Also see the face `doom-modeline-unread-number'."
'((t (:inherit (mode-line-buffer-id bold)))) '((t (:inherit (mode-line-buffer-id bold))))
"Face for display time." "Face for display time."
:group 'doom-modeline-faces) :group 'doom-modeline-faces)
(defface doom-modeline-compilation
'((t (:inherit warning :slant italic :height 0.9)))
"Face for compilation progress."
:group 'doom-modeline-faces)
;; ;;
;; Externals ;; Externals
@ -880,6 +939,15 @@ If FRAME is nil, it means the current frame."
(and doom-modeline-current-window (and doom-modeline-current-window
(eq (doom-modeline--get-current-window) doom-modeline-current-window)))) (eq (doom-modeline--get-current-window) doom-modeline-current-window))))
(defvar-local doom-modeline--limited-width-p nil)
(defun doom-modeline--segment-visible (name)
"Whether a segment should be displayed"
(and
(or (doom-modeline--active)
(member name doom-modeline-always-visible-segments))
(not doom-modeline--limited-width-p)))
(defun doom-modeline-set-selected-window (&rest _) (defun doom-modeline-set-selected-window (&rest _)
"Set `doom-modeline-current-window' appropriately." "Set `doom-modeline-current-window' appropriately."
(let ((win (doom-modeline--get-current-window))) (let ((win (doom-modeline--get-current-window)))
@ -897,6 +965,9 @@ If FRAME is nil, it means the current frame."
;; Ensure modeline is inactive when Emacs is unfocused ;; Ensure modeline is inactive when Emacs is unfocused
(defvar doom-modeline--remap-faces '(mode-line (defvar doom-modeline--remap-faces '(mode-line
mode-line-active mode-line-active
mode-line-emphasis
mode-line-highlight
mode-line-buffer-id
solaire-mode-line-face solaire-mode-line-face
solaire-mode-line-active-face solaire-mode-line-active-face
paradox-mode-line-face paradox-mode-line-face
@ -999,22 +1070,18 @@ Example:
(list lhs-forms (list lhs-forms
(propertize (propertize
" " " "
'display `((space 'display `(space
:align-to :align-to
(- (+ right right-margin scroll-bar) (- (+ right right-fringe right-margin scroll-bar)
,(let ((rhs-str (format-mode-line (cons "" rhs-forms))) ,(let ((rhs-str (format-mode-line (cons "" rhs-forms))))
(char-width (frame-char-width))) (if (fboundp 'string-pixel-width)
(if (fboundp 'string-pixel-width) (/ (string-pixel-width rhs-str)
;; Accurate calculations in 29+ (doom-modeline--font-width)
(/ (string-pixel-width 1.0)
(propertize rhs-str 'face 'mode-line)) (* (string-width rhs-str)
char-width (if (display-graphic-p)
1.0) (/ (doom-modeline--font-width) (frame-char-width) 0.95)
;; Backward compatibility 1.0)))))))
(* (/ (doom-modeline--font-width)
char-width
1.0)
(string-width rhs-str))))))))
rhs-forms)) rhs-forms))
(concat "Modeline:\n" (concat "Modeline:\n"
(format " %s\n %s" (format " %s\n %s"
@ -1061,7 +1128,8 @@ If INACTIVE-FACE is nil, `mode-line-inactive' face will be used."
(or (and (facep face) face) (or (and (facep face) face)
(and (facep 'mode-line-active) 'mode-line-active) (and (facep 'mode-line-active) 'mode-line-active)
'mode-line) 'mode-line)
(or (and (facep inactive-face) inactive-face) (or (and (facep face) `(:inherit (mode-line-inactive ,face)))
(and (facep inactive-face) inactive-face)
'mode-line-inactive))) 'mode-line-inactive)))
;; Since 27, the calculation of char height was changed ;; Since 27, the calculation of char height was changed
@ -1073,7 +1141,7 @@ If INACTIVE-FACE is nil, `mode-line-inactive' face will be used."
(round (round
(* (pcase system-type (* (pcase system-type
('darwin (if doom-modeline-icon 1.7 1.0)) ('darwin (if doom-modeline-icon 1.7 1.0))
('windows-nt (if doom-modeline-icon 0.88 0.625)) ('windows-nt (if doom-modeline-icon 1.3 1.0))
(_ (if (and doom-modeline-icon (< emacs-major-version 27)) 1.4 1.0))) (_ (if (and doom-modeline-icon (< emacs-major-version 27)) 1.4 1.0)))
(cond ((integerp height) (/ height 10)) (cond ((integerp height) (/ height 10))
((floatp height) (* height char-height)) ((floatp height) (* height char-height))
@ -1170,7 +1238,7 @@ Use FACE for the bar, WIDTH and HEIGHT are the image size in pixels."
(concat (format "P1\n%i %i\n" width height) (concat (format "P1\n%i %i\n" width height)
(make-string (* width height) ?1) (make-string (* width height) ?1)
"\n") "\n")
'pbm t :foreground color :ascent 'center)))))) 'pbm t :scale 1 :foreground color :ascent 'center))))))
(defun doom-modeline--create-hud-image (defun doom-modeline--create-hud-image
(face1 face2 width height top-margin bottom-margin) (face1 face2 width height top-margin bottom-margin)
@ -1203,7 +1271,6 @@ respectively."
'pbm t :foreground color1 :background color2 :ascent 'center))))) 'pbm t :foreground color1 :background color2 :ascent 'center)))))
;; Check whether `window-total-width' is smaller than the limit ;; Check whether `window-total-width' is smaller than the limit
(defvar-local doom-modeline--limited-width-p nil)
(defun doom-modeline-window-size-change-function (&rest _) (defun doom-modeline-window-size-change-function (&rest _)
"Function for `window-size-change-functions'." "Function for `window-size-change-functions'."
(setq doom-modeline--limited-width-p (setq doom-modeline--limited-width-p

View File

@ -1,8 +1,8 @@
(define-package "doom-modeline" "20220911.631" "A minimal and modern mode-line" (define-package "doom-modeline" "20221107.225" "A minimal and modern mode-line"
'((emacs "25.1") '((emacs "25.1")
(compat "28.1.1.1") (compat "28.1.1.1")
(shrink-path "0.2.0")) (shrink-path "0.2.0"))
:commit "73cccaba36aca706e8d819ce01f74d8d24533167" :authors :commit "4729f2babbbd6a7ab02ee8f21290ae2625cb9b72" :authors
'(("Vincent Zhang" . "seagle0128@gmail.com")) '(("Vincent Zhang" . "seagle0128@gmail.com"))
:maintainer :maintainer
'("Vincent Zhang" . "seagle0128@gmail.com") '("Vincent Zhang" . "seagle0128@gmail.com")

View File

@ -125,6 +125,7 @@
(declare-function cider-jack-in "ext:cider") (declare-function cider-jack-in "ext:cider")
(declare-function cider-quit "ext:cider") (declare-function cider-quit "ext:cider")
(declare-function citre-mode "ext:citre-basic-tools") (declare-function citre-mode "ext:citre-basic-tools")
(declare-function compilation-goto-in-progress-buffer "compile")
(declare-function dap--cur-session "ext:dap-mode") (declare-function dap--cur-session "ext:dap-mode")
(declare-function dap--debug-session-name "ext:dap-mode") (declare-function dap--debug-session-name "ext:dap-mode")
(declare-function dap--debug-session-state "ext:dap-mode") (declare-function dap--debug-session-state "ext:dap-mode")
@ -136,7 +137,7 @@
(declare-function edebug-next-mode "edebug") (declare-function edebug-next-mode "edebug")
(declare-function edebug-stop "edebug") (declare-function edebug-stop "edebug")
(declare-function eglot "ext:eglot") (declare-function eglot "ext:eglot")
(declare-function eglot--major-mode "ext:eglot" t t) (declare-function eglot--major-modes "ext:eglot" t t)
(declare-function eglot--project-nickname "ext:eglot" t t) (declare-function eglot--project-nickname "ext:eglot" t t)
(declare-function eglot--spinner "ext:eglot" t t) (declare-function eglot--spinner "ext:eglot" t t)
(declare-function eglot-clear-status "ext:eglot") (declare-function eglot-clear-status "ext:eglot")
@ -336,6 +337,7 @@ mouse-1: Previous buffer\nmouse-3: Next buffer"
(add-hook 'after-save-hook #'doom-modeline-update-buffer-file-name) (add-hook 'after-save-hook #'doom-modeline-update-buffer-file-name)
(add-hook 'clone-indirect-buffer-hook #'doom-modeline-update-buffer-file-name) (add-hook 'clone-indirect-buffer-hook #'doom-modeline-update-buffer-file-name)
(add-hook 'evil-insert-state-exit-hook #'doom-modeline-update-buffer-file-name) (add-hook 'evil-insert-state-exit-hook #'doom-modeline-update-buffer-file-name)
(add-hook 'Info-selection-hook #'doom-modeline-update-buffer-file-name)
(advice-add #'not-modified :after #'doom-modeline-update-buffer-file-name) (advice-add #'not-modified :after #'doom-modeline-update-buffer-file-name)
(advice-add #'rename-buffer :after #'doom-modeline-update-buffer-file-name) (advice-add #'rename-buffer :after #'doom-modeline-update-buffer-file-name)
(advice-add #'set-visited-file-name :after #'doom-modeline-update-buffer-file-name) (advice-add #'set-visited-file-name :after #'doom-modeline-update-buffer-file-name)
@ -437,6 +439,17 @@ read-only or non-existent)."
(doom-modeline--buffer-state-icon) (doom-modeline--buffer-state-icon)
(doom-modeline--buffer-simple-name))) (doom-modeline--buffer-simple-name)))
(doom-modeline-def-segment calc
"Display calculator icons and info."
(concat
doom-modeline-spc
(when-let ((icon (doom-modeline-icon 'faicon "calculator" nil nil
:height 0.85 :v-adjust -0.05)))
(concat
(doom-modeline-display-icon icon)
doom-modeline-vspc))
(doom-modeline--buffer-simple-name)))
(doom-modeline-def-segment buffer-default-directory (doom-modeline-def-segment buffer-default-directory
"Displays `default-directory' with the icon and state. "Displays `default-directory' with the icon and state.
@ -654,11 +667,11 @@ Uses `all-the-icons-octicon' to fetch the icon."
(let* ((backend (vc-backend buffer-file-name)) (let* ((backend (vc-backend buffer-file-name))
(state (vc-state (file-local-name buffer-file-name) backend))) (state (vc-state (file-local-name buffer-file-name) backend)))
(cond ((memq state '(edited added)) (cond ((memq state '(edited added))
(doom-modeline-vcs-icon "git-compare" "" "*" 'doom-modeline-info -0.05)) (doom-modeline-vcs-icon "git-compare" "🔃" "*" 'doom-modeline-info -0.05))
((eq state 'needs-merge) ((eq state 'needs-merge)
(doom-modeline-vcs-icon "git-merge" "" "?" 'doom-modeline-info)) (doom-modeline-vcs-icon "git-merge" "🔀" "?" 'doom-modeline-info))
((eq state 'needs-update) ((eq state 'needs-update)
(doom-modeline-vcs-icon "arrow-down" "" "!" 'doom-modeline-warning)) (doom-modeline-vcs-icon "arrow-down" "" "!" 'doom-modeline-warning))
((memq state '(removed conflict unregistered)) ((memq state '(removed conflict unregistered))
(doom-modeline-vcs-icon "alert" "" "!" 'doom-modeline-urgent)) (doom-modeline-vcs-icon "alert" "" "!" 'doom-modeline-urgent))
(t (t
@ -736,7 +749,7 @@ Uses `all-the-icons-octicon' to fetch the icon."
UNICODE and TEXT are fallbacks. UNICODE and TEXT are fallbacks.
Uses `all-the-icons-material' to fetch the icon." Uses `all-the-icons-material' to fetch the icon."
(doom-modeline-icon 'material icon unicode text (doom-modeline-icon 'material icon unicode text
:face face :height 1.1 :v-adjust -0.225)) :face face :height 1.0 :v-adjust -0.225))
(defun doom-modeline-checker-text (text &optional face) (defun doom-modeline-checker-text (text &optional face)
"Displays TEXT with FACE." "Displays TEXT with FACE."
@ -771,23 +784,23 @@ level."
('finished (if flycheck-current-errors ('finished (if flycheck-current-errors
(let-alist (doom-modeline--flycheck-count-errors) (let-alist (doom-modeline--flycheck-count-errors)
(doom-modeline-checker-icon (doom-modeline-checker-icon
"block" "🚫" "!" "error_outline" "" "!"
(cond ((> .error 0) 'doom-modeline-urgent) (cond ((> .error 0) 'doom-modeline-urgent)
((> .warning 0) 'doom-modeline-warning) ((> .warning 0) 'doom-modeline-warning)
(t 'doom-modeline-info)))) (t 'doom-modeline-info))))
(doom-modeline-checker-icon "check" "" "-" 'doom-modeline-info))) (doom-modeline-checker-icon "check" "" "-" 'doom-modeline-info)))
('running (doom-modeline-checker-icon "access_time" "" "*" 'doom-modeline-debug)) ('running (doom-modeline-checker-icon "hourglass_empty" "" "*" 'doom-modeline-debug))
('no-checker (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-debug)) ('no-checker (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-debug))
('errored (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-urgent)) ('errored (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-urgent))
('interrupted (doom-modeline-checker-icon "pause" "" "=" 'doom-modeline-debug)) ('interrupted (doom-modeline-checker-icon "pause_circle_outline" "" "=" 'doom-modeline-debug))
('suspicious (doom-modeline-checker-icon "priority_high" "" "!" 'doom-modeline-urgent)) ('suspicious (doom-modeline-checker-icon "info_outline" "" "?" 'doom-modeline-debug))
(_ nil)))) (_ nil))))
(propertize icon (propertize icon
'help-echo (concat "Flycheck\n" 'help-echo (concat "Flycheck\n"
(pcase status (pcase status
('finished "mouse-1: Display minor mode menu ('finished "mouse-1: Display minor mode menu
mouse-2: Show help for minor mode") mouse-2: Show help for minor mode")
('running "Running...") ('running "Checking...")
('no-checker "No Checker") ('no-checker "No Checker")
('errored "Error") ('errored "Error")
('interrupted "Interrupted") ('interrupted "Interrupted")
@ -846,11 +859,11 @@ mouse-2: Show help for minor mode")
'doom-modeline-warning) 'doom-modeline-warning)
(doom-modeline-checker-text (number-to-string .info) (doom-modeline-checker-text (number-to-string .info)
'doom-modeline-info)))))) 'doom-modeline-info))))))
('running nil) ;; ('running nil)
('no-checker nil) ;; ('no-checker nil)
('errored (doom-modeline-checker-text "Error" 'doom-modeline-urgent)) ;; ('errored (doom-modeline-checker-text "Error" 'doom-modeline-urgent))
('interrupted (doom-modeline-checker-text "Interrupted" 'doom-modeline-debug)) ;; ('interrupted (doom-modeline-checker-text "Interrupted" 'doom-modeline-debug))
('suspicious (doom-modeline-checker-text "Suspicious" 'doom-modeline-urgent)) ;; ('suspicious (doom-modeline-checker-text "Suspicious" 'doom-modeline-urgent))
(_ nil)))) (_ nil))))
(propertize (propertize
text text
@ -864,7 +877,7 @@ mouse-2: Show help for minor mode")
mouse-3: Next error" mouse-3: Next error"
(if (featurep 'mwheel) (if (featurep 'mwheel)
"\nwheel-up/wheel-down: Previous/next error"))) "\nwheel-up/wheel-down: Previous/next error")))
('running "Running...") ('running "Checking...")
('no-checker "No Checker") ('no-checker "No Checker")
('errored "Error") ('errored "Error")
('interrupted "Interrupted") ('interrupted "Interrupted")
@ -914,9 +927,9 @@ mouse-3: Next error"
(when-let (when-let
((icon ((icon
(cond (cond
(some-waiting (doom-modeline-checker-icon "access_time" "" "*" 'doom-modeline-debug)) (some-waiting (doom-modeline-checker-icon "hourglass_empty" "" "*" 'doom-modeline-urgent))
((null known) (doom-modeline-checker-icon "sim_card_alert" "" "?" 'doom-modeline-debug)) ((null known) (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-debug))
(all-disabled (doom-modeline-checker-icon "sim_card_alert" "" "!" 'doom-modeline-urgent)) (all-disabled (doom-modeline-checker-icon "sim_card_alert" "" "-" 'doom-modeline-warning))
(t (let ((.error 0) (t (let ((.error 0)
(.warning 0) (.warning 0)
(.note 0)) (.note 0))
@ -934,7 +947,7 @@ mouse-3: Next error"
((> severity note-level) (cl-incf .warning)) ((> severity note-level) (cl-incf .warning))
(t (cl-incf .note)))))) (t (cl-incf .note))))))
(if (> (+ .error .warning .note) 0) (if (> (+ .error .warning .note) 0)
(doom-modeline-checker-icon "do_not_disturb_alt" "🚫" "!" (doom-modeline-checker-icon "error_outline" "" "!"
(cond ((> .error 0) 'doom-modeline-urgent) (cond ((> .error 0) 'doom-modeline-urgent)
((> .warning 0) 'doom-modeline-warning) ((> .warning 0) 'doom-modeline-warning)
(t 'doom-modeline-info))) (t 'doom-modeline-info)))
@ -943,7 +956,7 @@ mouse-3: Next error"
icon icon
'help-echo (concat "Flymake\n" 'help-echo (concat "Flymake\n"
(cond (cond
(some-waiting "Running...") (some-waiting "Checking...")
((null known) "No Checker") ((null known) "No Checker")
(all-disabled "All Checkers Disabled") (all-disabled "All Checkers Disabled")
(t (format "%d/%d backends running (t (format "%d/%d backends running
@ -1030,7 +1043,7 @@ mouse-2: Show help for minor mode"
(propertize (propertize
text text
'help-echo (cond 'help-echo (cond
(some-waiting "Running...") (some-waiting "Checking...")
((null known) "No Checker") ((null known) "No Checker")
(all-disabled "All Checkers Disabled") (all-disabled "All Checkers Disabled")
(t (format "error: %d, warning: %d, note: %d (t (format "error: %d, warning: %d, note: %d
@ -1600,8 +1613,7 @@ mouse-2: Show help for minor mode"
(doom-modeline-def-segment persp-name (doom-modeline-def-segment persp-name
"The current perspective name." "The current perspective name."
(when (and (doom-modeline--active) (when (doom-modeline--segment-visible 'persp-name)
(not doom-modeline--limited-width-p))
doom-modeline--persp-name)) doom-modeline--persp-name))
@ -1651,7 +1663,7 @@ See `mode-line-percent-position'.")
(doom-modeline-def-segment buffer-position (doom-modeline-def-segment buffer-position
"The buffer position information." "The buffer position information."
(let ((active (doom-modeline--active)) (let ((visible (doom-modeline--segment-visible 'buffer-position))
(lc '(line-number-mode (lc '(line-number-mode
(column-number-mode (column-number-mode
(doom-modeline-column-zero-based "%l:%c" "%l:%C") (doom-modeline-column-zero-based "%l:%c" "%l:%C")
@ -1670,31 +1682,27 @@ mouse-1: Display Line and Column Mode Menu"
'local-map local-map) 'local-map local-map)
;; Position ;; Position
(cond ((and active (cond ((and visible
(bound-and-true-p nyan-mode) (bound-and-true-p nyan-mode)
(not doom-modeline--limited-width-p)
(>= (window-width) nyan-minimum-window-width)) (>= (window-width) nyan-minimum-window-width))
(concat (concat
doom-modeline-wspc doom-modeline-wspc
(propertize (nyan-create) 'mouse-face mouse-face))) (propertize (nyan-create) 'mouse-face mouse-face)))
((and active ((and visible
(bound-and-true-p poke-line-mode) (bound-and-true-p poke-line-mode)
(not doom-modeline--limited-width-p)
(>= (window-width) poke-line-minimum-window-width)) (>= (window-width) poke-line-minimum-window-width))
(concat (concat
doom-modeline-wspc doom-modeline-wspc
(propertize (poke-line-create) 'mouse-face mouse-face))) (propertize (poke-line-create) 'mouse-face mouse-face)))
((and active ((and visible
(bound-and-true-p mlscroll-mode) (bound-and-true-p mlscroll-mode)
(not doom-modeline--limited-width-p)
(>= (window-width) mlscroll-minimum-current-width)) (>= (window-width) mlscroll-minimum-current-width))
(concat (concat
doom-modeline-wspc doom-modeline-wspc
(let ((mlscroll-right-align nil)) (let ((mlscroll-right-align nil))
(format-mode-line (mlscroll-mode-line))))) (format-mode-line (mlscroll-mode-line)))))
((and active ((and visible
(bound-and-true-p sml-modeline-mode) (bound-and-true-p sml-modeline-mode)
(not doom-modeline--limited-width-p)
(>= (window-width) sml-modeline-len)) (>= (window-width) sml-modeline-len))
(concat (concat
doom-modeline-wspc doom-modeline-wspc
@ -1719,8 +1727,7 @@ mouse-1: Display Line and Column Mode Menu"
;; ;;
(doom-modeline-def-segment parrot (doom-modeline-def-segment parrot
"The party parrot animated icon. Requires `parrot-mode' to be enabled." "The party parrot animated icon. Requires `parrot-mode' to be enabled."
(when (and (doom-modeline--active) (when (and (doom-modeline--segment-visible 'parrot)
(not doom-modeline--limited-width-p)
(bound-and-true-p parrot-mode)) (bound-and-true-p parrot-mode))
(concat doom-modeline-wspc (concat doom-modeline-wspc
(parrot-create) (parrot-create)
@ -1730,13 +1737,14 @@ mouse-1: Display Line and Column Mode Menu"
;; Modals (evil, overwrite, god, ryo and xah-fly-keys, etc.) ;; Modals (evil, overwrite, god, ryo and xah-fly-keys, etc.)
;; ;;
(defun doom-modeline--modal-icon (text face help-echo) (defun doom-modeline--modal-icon (text face help-echo &optional icon unicode)
"Display the model icon with FACE and HELP-ECHO. "Display the model icon with FACE and HELP-ECHO.
TEXT is alternative if icon is not available." TEXT is alternative if icon is not available."
(propertize (doom-modeline-icon (propertize (doom-modeline-icon
'material 'material
(when doom-modeline-modal-icon "fiber_manual_record") (when doom-modeline-modal-icon
"" (or icon "fiber_manual_record"))
(or unicode "")
text text
:face (doom-modeline-face face) :face (doom-modeline-face face)
:v-adjust -0.225) :v-adjust -0.225)
@ -1763,28 +1771,34 @@ TEXT is alternative if icon is not available."
"The current overwrite state which is enabled by command `overwrite-mode'." "The current overwrite state which is enabled by command `overwrite-mode'."
(when (and (bound-and-true-p overwrite-mode) (when (and (bound-and-true-p overwrite-mode)
(not (bound-and-true-p evil-local-mode))) (not (bound-and-true-p evil-local-mode)))
(doom-modeline--modal-icon " <O> " 'doom-modeline-urgent "Overwrite mode"))) (doom-modeline--modal-icon
"<O>" 'doom-modeline-overwrite "Overwrite mode"
"border_color" "🧷")))
(defsubst doom-modeline--god () (defsubst doom-modeline--god ()
"The current god state which is enabled by the command `god-mode'." "The current god state which is enabled by the command `god-mode'."
(when (bound-and-true-p god-local-mode) (when (bound-and-true-p god-local-mode)
(doom-modeline--modal-icon " <G> " 'doom-modeline-evil-normal-state "God mode"))) (doom-modeline--modal-icon
"<G>" 'doom-modeline-god "God mode"
"account_circle" "🙇")))
(defsubst doom-modeline--ryo () (defsubst doom-modeline--ryo ()
"The current ryo-modal state which is enabled by the command `ryo-modal-mode'." "The current ryo-modal state which is enabled by the command `ryo-modal-mode'."
(when (bound-and-true-p ryo-modal-mode) (when (bound-and-true-p ryo-modal-mode)
(doom-modeline--modal-icon "<R>" 'doom-modeline-evil-normal-state "Ryo modal"))) (doom-modeline--modal-icon
"<R>" 'doom-modeline-ryo "Ryo modal"
"add_circle" "")))
(defsubst doom-modeline--xah-fly-keys () (defsubst doom-modeline--xah-fly-keys ()
"The current `xah-fly-keys' state." "The current `xah-fly-keys' state."
(when (bound-and-true-p xah-fly-keys) (when (bound-and-true-p xah-fly-keys)
(if xah-fly-insert-state-p (if xah-fly-insert-state-p
(doom-modeline--modal-icon " <I> " (doom-modeline--modal-icon
'doom-modeline-evil-insert-state "<I>" 'doom-modeline-fly-insert-state "Xah-fly insert mode"
(format "Xah-fly insert mode")) "flight" "🛧")
(doom-modeline--modal-icon " <C> " (doom-modeline--modal-icon
'doom-modeline-evil-normal-state "<C>" 'doom-modeline-fly-normal-state "Xah-fly command mode"
(format "Xah-fly command mode"))))) "flight" "🛧"))))
(defsubst doom-modeline--boon () (defsubst doom-modeline--boon ()
"The current Boon state. Requires `boon-mode' to be enabled." "The current Boon state. Requires `boon-mode' to be enabled."
@ -1792,12 +1806,13 @@ TEXT is alternative if icon is not available."
(doom-modeline--modal-icon (doom-modeline--modal-icon
(boon-state-string) (boon-state-string)
(cond (cond
(boon-command-state 'doom-modeline-evil-normal-state) (boon-command-state 'doom-modeline-boon-command-state)
(boon-insert-state 'doom-modeline-evil-insert-state) (boon-insert-state 'doom-modeline-boon-insert-state)
(boon-special-state 'doom-modeline-evil-emacs-state) (boon-special-state 'doom-modeline-boon-special-state)
(boon-off-state 'doom-modeline-evil-operator-state) (boon-off-state 'doom-modeline-boon-off-state)
(t 'doom-modeline-evil-operator-state)) (t 'doom-modeline-boon-off-state))
(boon-modeline-string)))) (boon-modeline-string))
"local_cafe" "🍵"))
(defsubst doom-modeline--meow () (defsubst doom-modeline--meow ()
"The current Meow state. Requires `meow-mode' to be enabled." "The current Meow state. Requires `meow-mode' to be enabled."
@ -1812,24 +1827,25 @@ TEXT is alternative if icon is not available."
"Displays modal editing states. "Displays modal editing states.
Including `evil', `overwrite', `god', `ryo' and `xha-fly-kyes', etc." Including `evil', `overwrite', `god', `ryo' and `xha-fly-kyes', etc."
(let* ((evil (doom-modeline--evil)) (when doom-modeline-modal
(ow (doom-modeline--overwrite)) (let* ((evil (doom-modeline--evil))
(god (doom-modeline--god)) (ow (doom-modeline--overwrite))
(ryo (doom-modeline--ryo)) (god (doom-modeline--god))
(xf (doom-modeline--xah-fly-keys)) (ryo (doom-modeline--ryo))
(boon (doom-modeline--boon)) (xf (doom-modeline--xah-fly-keys))
(vsep doom-modeline-vspc) (boon (doom-modeline--boon))
(meow (doom-modeline--meow)) (vsep doom-modeline-vspc)
(sep (and (or evil ow god ryo xf boon) doom-modeline-spc))) (meow (doom-modeline--meow))
(concat sep (sep (and (or evil ow god ryo xf boon) doom-modeline-spc)))
(and evil (concat evil (and (or ow god ryo xf boon meow) vsep))) (concat sep
(and ow (concat ow (and (or god ryo xf boon meow) vsep))) (and evil (concat evil (and (or ow god ryo xf boon meow) vsep)))
(and god (concat god (and (or ryo xf boon meow) vsep))) (and ow (concat ow (and (or god ryo xf boon meow) vsep)))
(and ryo (concat ryo (and (or xf boon meow) vsep))) (and god (concat god (and (or ryo xf boon meow) vsep)))
(and xf (concat xf (and (or boon meow) vsep))) (and ryo (concat ryo (and (or xf boon meow) vsep)))
(and boon (concat boon (and meow vsep))) (and xf (concat xf (and (or boon meow) vsep)))
meow (and boon (concat boon (and meow vsep)))
sep))) meow
sep))))
;; ;;
;; Objed state ;; Objed state
@ -2052,7 +2068,7 @@ mouse-3: Clear this status" (plist-get last-error :message)))
C-mouse-1: Go to server errors C-mouse-1: Go to server errors
mouse-1: Go to server events mouse-1: Go to server events
mouse-2: Quit server mouse-2: Quit server
mouse-3: Reconnect to server" nick (eglot--major-mode server))) mouse-3: Reconnect to server" nick (eglot--major-modes server)))
(t "EGLOT Disconnected (t "EGLOT Disconnected
mouse-1: Start server")) mouse-1: Start server"))
'mouse-face 'doom-modeline-highlight 'mouse-face 'doom-modeline-highlight
@ -2198,8 +2214,7 @@ Example:
(doom-modeline-def-segment github (doom-modeline-def-segment github
"The GitHub notifications." "The GitHub notifications."
(when (and doom-modeline-github (when (and doom-modeline-github
(doom-modeline--active) (doom-modeline--segment-visible 'github)
(not doom-modeline--limited-width-p)
(numberp doom-modeline--github-notification-number) (numberp doom-modeline--github-notification-number)
(> doom-modeline--github-notification-number 0)) (> doom-modeline--github-notification-number 0))
(concat (concat
@ -2340,8 +2355,7 @@ mouse-1: Toggle Debug on Quit"
(doom-modeline-def-segment debug (doom-modeline-def-segment debug
"The current debug state." "The current debug state."
(when (and (doom-modeline--active) (when (doom-modeline--segment-visible 'debug)
(not doom-modeline--limited-width-p))
(let* ((dap doom-modeline--debug-dap) (let* ((dap doom-modeline--debug-dap)
(edebug (doom-modeline--debug-edebug)) (edebug (doom-modeline--debug-edebug))
(on-error (doom-modeline--debug-on-error)) (on-error (doom-modeline--debug-on-error))
@ -2381,8 +2395,7 @@ mouse-1: Toggle Debug on Quit"
(doom-modeline-def-segment mu4e (doom-modeline-def-segment mu4e
"Show notifications of any unread emails in `mu4e'." "Show notifications of any unread emails in `mu4e'."
(when (and doom-modeline-mu4e (when (and doom-modeline-mu4e
(doom-modeline--active) (doom-modeline--segment-visible 'mu4e)
(not doom-modeline--limited-width-p)
(bound-and-true-p mu4e-alert-mode-line) (bound-and-true-p mu4e-alert-mode-line)
(numberp mu4e-alert-mode-line) (numberp mu4e-alert-mode-line)
;; don't display if the unread mails count is zero ;; don't display if the unread mails count is zero
@ -2479,8 +2492,7 @@ mouse-1: Toggle Debug on Quit"
(doom-modeline-def-segment gnus (doom-modeline-def-segment gnus
"Show notifications of any unread emails in `gnus'." "Show notifications of any unread emails in `gnus'."
(when (and (doom-modeline--active) (when (and (doom-modeline--segment-visible 'gnus)
(not doom-modeline--limited-width-p)
doom-modeline-gnus doom-modeline-gnus
doom-modeline--gnus-started doom-modeline--gnus-started
;; Don't display if the unread mails count is zero ;; Don't display if the unread mails count is zero
@ -2536,11 +2548,12 @@ to be an icon and we don't want to remove that so we just return the original."
'face '(:inherit (doom-modeline-unread-number doom-modeline-notification)) 'face '(:inherit (doom-modeline-unread-number doom-modeline-notification))
'help-echo (format "IRC Notification: %s\nmouse-1: Switch to buffer" b) 'help-echo (format "IRC Notification: %s\nmouse-1: Switch to buffer" b)
'mouse-face 'doom-modeline-highlight 'mouse-face 'doom-modeline-highlight
'local-map (make-mode-line-mouse-map 'mouse-1 'local-map (make-mode-line-mouse-map
(lambda () 'mouse-1
(interactive) (lambda ()
(when (buffer-live-p (get-buffer b)) (interactive)
(switch-to-buffer b)))))) (when (buffer-live-p (get-buffer b))
(switch-to-buffer b))))))
buffers buffers
doom-modeline-vspc)) doom-modeline-vspc))
@ -2574,8 +2587,7 @@ to be an icon and we don't want to remove that so we just return the original."
(doom-modeline-def-segment irc-buffers (doom-modeline-def-segment irc-buffers
"The list of shortened, unread irc buffers." "The list of shortened, unread irc buffers."
(when (and doom-modeline-irc (when (and doom-modeline-irc
(doom-modeline--active) (doom-modeline--segment-visible 'irc-buffers))
(not doom-modeline--limited-width-p))
(let* ((buffers (doom-modeline--get-buffers)) (let* ((buffers (doom-modeline--get-buffers))
(number (length buffers))) (number (length buffers)))
(when (> number 0) (when (> number 0)
@ -2587,8 +2599,7 @@ to be an icon and we don't want to remove that so we just return the original."
(doom-modeline-def-segment irc (doom-modeline-def-segment irc
"A notification icon for any unread irc buffer." "A notification icon for any unread irc buffer."
(when (and doom-modeline-irc (when (and doom-modeline-irc
(doom-modeline--active) (doom-modeline--segment-visible 'irc))
(not doom-modeline--limited-width-p))
(let* ((buffers (doom-modeline--get-buffers)) (let* ((buffers (doom-modeline--get-buffers))
(number (length buffers))) (number (length buffers)))
(when (> number 0) (when (> number 0)
@ -2731,8 +2742,7 @@ mouse-3: Switch to next unread buffer")))
(doom-modeline-def-segment battery (doom-modeline-def-segment battery
"Display battery status." "Display battery status."
(when (and (doom-modeline--active) (when (and (doom-modeline--segment-visible 'battery)
(not doom-modeline--limited-width-p)
(bound-and-true-p display-battery-mode)) (bound-and-true-p display-battery-mode))
(concat doom-modeline-spc (concat doom-modeline-spc
(concat (concat
@ -2959,6 +2969,21 @@ mouse-3: Restart preview"
(add-hook 'display-time-mode-hook #'doom-modeline-override-display-time-modeline) (add-hook 'display-time-mode-hook #'doom-modeline-override-display-time-modeline)
(add-hook 'doom-modeline-mode-hook #'doom-modeline-override-display-time-modeline) (add-hook 'doom-modeline-mode-hook #'doom-modeline-override-display-time-modeline)
;;
;; Compilation
;;
(doom-modeline-def-segment compilation
(and (bound-and-true-p compilation-in-progress)
(propertize "[Compiling] "
'face (doom-modeline-face 'doom-modeline-compilation)
'help-echo "Compiling; mouse-2: Goto Buffer"
'mouse-face 'doom-modeline-highlight
'local-map
(make-mode-line-mouse-map
'mouse-2
#'compilation-goto-in-progress-buffer))))
(provide 'doom-modeline-segments) (provide 'doom-modeline-segments)
;;; doom-modeline-segments.el ends here ;;; doom-modeline-segments.el ends here

View File

@ -89,7 +89,7 @@
(doom-modeline-def-modeline 'main (doom-modeline-def-modeline 'main
'(bar workspace-name window-number modals matches follow buffer-info remote-host buffer-position word-count parrot selection-info) '(bar workspace-name window-number modals matches follow buffer-info remote-host buffer-position word-count parrot selection-info)
'(objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp minor-modes input-method indent-info buffer-encoding major-mode process vcs checker time)) '(compilation objed-state misc-info persp-name battery grip irc mu4e gnus github debug repl lsp minor-modes input-method indent-info buffer-encoding major-mode process vcs checker time))
(doom-modeline-def-modeline 'minimal (doom-modeline-def-modeline 'minimal
'(bar matches buffer-info-simple) '(bar matches buffer-info-simple)
@ -97,43 +97,43 @@
(doom-modeline-def-modeline 'special (doom-modeline-def-modeline 'special
'(bar window-number modals matches buffer-info remote-host buffer-position word-count parrot selection-info) '(bar window-number modals matches buffer-info remote-host buffer-position word-count parrot selection-info)
'(objed-state misc-info battery irc-buffers debug minor-modes input-method indent-info buffer-encoding major-mode process time)) '(compilation objed-state misc-info battery irc-buffers debug minor-modes input-method indent-info buffer-encoding major-mode process time))
(doom-modeline-def-modeline 'project (doom-modeline-def-modeline 'project
'(bar window-number modals buffer-default-directory remote-host buffer-position) '(bar window-number modals buffer-default-directory remote-host buffer-position)
'(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time)) '(compilation misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time))
(doom-modeline-def-modeline 'dashboard (doom-modeline-def-modeline 'dashboard
'(bar window-number buffer-default-directory-simple remote-host) '(bar window-number buffer-default-directory-simple remote-host)
'(misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time)) '(compilation misc-info battery irc mu4e gnus github debug minor-modes input-method major-mode process time))
(doom-modeline-def-modeline 'vcs (doom-modeline-def-modeline 'vcs
'(bar window-number modals matches buffer-info remote-host buffer-position parrot selection-info) '(bar window-number modals matches buffer-info remote-host buffer-position parrot selection-info)
'(misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process time)) '(compilation misc-info battery irc mu4e gnus github debug minor-modes buffer-encoding major-mode process time))
(doom-modeline-def-modeline 'package (doom-modeline-def-modeline 'package
'(bar window-number package) '(bar window-number package)
'(misc-info major-mode process time)) '(compilation misc-info major-mode process time))
(doom-modeline-def-modeline 'info (doom-modeline-def-modeline 'info
'(bar window-number buffer-info info-nodes buffer-position parrot selection-info) '(bar window-number buffer-info info-nodes buffer-position parrot selection-info)
'(misc-info buffer-encoding major-mode time)) '(compilation misc-info buffer-encoding major-mode time))
(doom-modeline-def-modeline 'media (doom-modeline-def-modeline 'media
'(bar window-number buffer-size buffer-info) '(bar window-number buffer-size buffer-info)
'(misc-info media-info major-mode process vcs time)) '(compilation misc-info media-info major-mode process vcs time))
(doom-modeline-def-modeline 'message (doom-modeline-def-modeline 'message
'(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info) '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info)
'(objed-state misc-info battery debug minor-modes input-method indent-info buffer-encoding major-mode time)) '(compilation objed-state misc-info battery debug minor-modes input-method indent-info buffer-encoding major-mode time))
(doom-modeline-def-modeline 'pdf (doom-modeline-def-modeline 'pdf
'(bar window-number matches buffer-info pdf-pages) '(bar window-number matches buffer-info pdf-pages)
'(misc-info major-mode process vcs time)) '(compilation misc-info major-mode process vcs time))
(doom-modeline-def-modeline 'org-src (doom-modeline-def-modeline 'org-src
'(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info) '(bar window-number modals matches buffer-info-simple buffer-position word-count parrot selection-info)
'(objed-state misc-info debug lsp minor-modes input-method indent-info buffer-encoding major-mode process checker time)) '(compilation objed-state misc-info debug lsp minor-modes input-method indent-info buffer-encoding major-mode process checker time))
(doom-modeline-def-modeline 'helm (doom-modeline-def-modeline 'helm
'(bar helm-buffer-id helm-number helm-follow helm-prefix-argument) '(bar helm-buffer-id helm-number helm-follow helm-prefix-argument)
@ -143,6 +143,10 @@
'(bar window-number modals matches git-timemachine buffer-position word-count parrot selection-info) '(bar window-number modals matches git-timemachine buffer-position word-count parrot selection-info)
'(misc-info minor-modes indent-info buffer-encoding major-mode time)) '(misc-info minor-modes indent-info buffer-encoding major-mode time))
(doom-modeline-def-modeline 'calculator
'(window-number modals matches calc buffer-position)
'(misc-info minor-modes major-mode process))
;; ;;
;; Interfaces ;; Interfaces
@ -161,6 +165,7 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
;; Suppress warnings ;; Suppress warnings
(defvar 2C-mode-line-format) (defvar 2C-mode-line-format)
(defvar helm-ag-show-status-function)
(declare-function helm-display-mode-line "ext:helm-core") (declare-function helm-display-mode-line "ext:helm-core")
(defvar doom-modeline-mode-map (make-sparse-keymap)) (defvar doom-modeline-mode-map (make-sparse-keymap))
@ -170,13 +175,15 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
(git-commit-mode . message) (git-commit-mode . message)
(magit-mode . vcs) (magit-mode . vcs)
(dashboard-mode . dashboard) (dashboard-mode . dashboard)
(Info-mode . project) (Info-mode . info)
(image-mode . media) (image-mode . media)
(pdf-view-mode . pdf) (pdf-view-mode . pdf)
(org-src-mode . org-src) (org-src-mode . org-src)
(paradox-menu-mode . package) (paradox-menu-mode . package)
(xwidget-webkit-mode . minimal) (xwidget-webkit-mode . minimal)
(git-timemachine-mode . timemachine) (git-timemachine-mode . timemachine)
(calc-mode . calculator)
(calc-trail-mode . calculator)
(circe-mode . special) (circe-mode . special)
(erc-mode . special) (erc-mode . special)
(rcirc-mode . special)) (rcirc-mode . special))
@ -209,7 +216,8 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
;; Apply to all existing buffers. ;; Apply to all existing buffers.
(dolist (buf (buffer-list)) (dolist (buf (buffer-list))
(with-current-buffer buf (with-current-buffer buf
(doom-modeline-set-main-modeline))) (unless (doom-modeline-auto-set-modeline)
(doom-modeline-set-main-modeline))))
;; For two-column editing ;; For two-column editing
(setq 2C-mode-line-format (doom-modeline 'special)) (setq 2C-mode-line-format (doom-modeline 'special))
@ -218,7 +226,8 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
(add-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline) (add-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline)
;; Special handles ;; Special handles
(advice-add #'helm-display-mode-line :after #'doom-modeline-set-helm-modeline)) (advice-add #'helm-display-mode-line :after #'doom-modeline-set-helm-modeline)
(setq helm-ag-show-status-function #'doom-modeline-set-helm-modeline))
(progn (progn
;; Restore mode-line ;; Restore mode-line
(let ((original-format (doom-modeline--original-value 'mode-line-format))) (let ((original-format (doom-modeline--original-value 'mode-line-format)))
@ -232,7 +241,8 @@ If DEFAULT is non-nil, set the default mode-line for all buffers."
;; Cleanup ;; Cleanup
(remove-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline) (remove-hook 'after-change-major-mode-hook #'doom-modeline-auto-set-modeline)
(advice-remove #'helm-display-mode-line #'doom-modeline-set-helm-modeline)))) (advice-remove #'helm-display-mode-line #'doom-modeline-set-helm-modeline)
(setq helm-ag-show-status-function (default-value 'helm-ag-show-status-function)))))
(provide 'doom-modeline) (provide 'doom-modeline)

View File

@ -1,2 +1,2 @@
;;; Generated package description from focus.el -*- no-byte-compile: t -*- ;;; Generated package description from focus.el -*- no-byte-compile: t -*-
(define-package "focus" "20220910.1300" "Dim the font color of text in surrounding sections" '((emacs "24.3") (cl-lib "0.5")) :commit "9dd85fc474bbc1ebf22c287752c960394fcd465a" :authors '(("Lars Tveito" . "larstvei@ifi.uio.no")) :maintainer '("Lars Tveito" . "larstvei@ifi.uio.no") :url "http://github.com/larstvei/Focus") (define-package "focus" "20221016.1846" "Dim the font color of text in surrounding sections" '((emacs "24.3") (cl-lib "0.5")) :commit "2507ec4ec5a9402647ef85540669db1815520c15" :authors '(("Lars Tveito" . "larstvei@ifi.uio.no")) :maintainer '("Lars Tveito" . "larstvei@ifi.uio.no") :url "http://github.com/larstvei/Focus")

View File

@ -4,10 +4,10 @@
;; Author: Lars Tveito <larstvei@ifi.uio.no> ;; Author: Lars Tveito <larstvei@ifi.uio.no>
;; URL: http://github.com/larstvei/Focus ;; URL: http://github.com/larstvei/Focus
;; Package-Version: 20220910.1300 ;; Package-Version: 20221016.1846
;; Package-Commit: 9dd85fc474bbc1ebf22c287752c960394fcd465a ;; Package-Commit: 2507ec4ec5a9402647ef85540669db1815520c15
;; Created: 11th May 2015 ;; Created: 11th May 2015
;; Version: 1.0.0 ;; Version: 1.0.1
;; Package-Requires: ((emacs "24.3") (cl-lib "0.5")) ;; Package-Requires: ((emacs "24.3") (cl-lib "0.5"))
;; This program is free software; you can redistribute it and/or modify ;; This program is free software; you can redistribute it and/or modify

View File

@ -1,9 +1,9 @@
(define-package "git-commit" "20220803.2341" "Edit Git commit messages." (define-package "git-commit" "20221101.2237" "Edit Git commit messages."
'((emacs "25.1") '((emacs "25.1")
(compat "28.1.1.2") (compat "28.1.1.2")
(transient "20210920") (transient "20210920")
(with-editor "20211001")) (with-editor "20211001"))
:commit "ac7fae6a9893b55ad01942d9ea5a571d44426665" :authors :commit "2a5815fee1ed091751b8bbfa242f7a78d7e5e039" :authors
'(("Jonas Bernoulli" . "jonas@bernoul.li") '(("Jonas Bernoulli" . "jonas@bernoul.li")
("Sebastian Wiesner" . "lunaryorn@gmail.com") ("Sebastian Wiesner" . "lunaryorn@gmail.com")
("Florian Ragwitz" . "rafl@debian.org") ("Florian Ragwitz" . "rafl@debian.org")

View File

@ -784,7 +784,7 @@ Save current message first."
(insert str) (insert str)
(goto-char (point-min)) (goto-char (point-min))
(when (re-search-forward (concat flush " -+ >8 -+$") nil t) (when (re-search-forward (concat flush " -+ >8 -+$") nil t)
(delete-region (point-at-bol) (point-max))) (delete-region (line-beginning-position) (point-max)))
(goto-char (point-min)) (goto-char (point-min))
(flush-lines flush) (flush-lines flush)
(goto-char (point-max)) (goto-char (point-max))
@ -980,7 +980,7 @@ Added to `font-lock-extend-region-functions'."
(eval . `(,(git-commit-summary-regexp) (eval . `(,(git-commit-summary-regexp)
(1 'git-commit-summary))) (1 'git-commit-summary)))
;; - Keyword [aka "text in brackets"] (overrides summary) ;; - Keyword [aka "text in brackets"] (overrides summary)
("\\[.+?\\]" ("\\[[^][]+?\\]"
(0 'git-commit-keyword t)) (0 'git-commit-keyword t))
;; - Non-empty second line (overrides summary and note) ;; - Non-empty second line (overrides summary and note)
(eval . `(,(git-commit-summary-regexp) (eval . `(,(git-commit-summary-regexp)

View File

@ -5,4 +5,5 @@
(bug-reference-url-format . "https://github.com/emacs-helm/helm/issues/%s") (bug-reference-url-format . "https://github.com/emacs-helm/helm/issues/%s")
(byte-compile-warnings . (not obsolete docstrings docstrings-non-ascii-quotes)))) (byte-compile-warnings . (not obsolete docstrings docstrings-non-ascii-quotes))))
(emacs-lisp-mode . ((mode . bug-reference-prog) (emacs-lisp-mode . ((mode . bug-reference-prog)
(indent-tabs-mode . nil)))) (indent-tabs-mode . nil)
(fill-column . 80))))

View File

@ -23,18 +23,18 @@ or call the function `helm-adaptive-mode'.")
Toggle adaptive sorting in all sources. Toggle adaptive sorting in all sources.
This is a minor mode. If called interactively, toggle the This is a minor mode. If called interactively, toggle the
`Helm-Adaptive mode' mode. If the prefix argument is positive, `Helm-Adaptive mode' mode. If the prefix argument is positive, enable
enable the mode, and if it is zero or negative, disable the mode. the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-adaptive-mode)'. evaluate `(default-value \\='helm-adaptive-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
@ -212,19 +212,19 @@ or call the function `helm-epa-mode'.")
(autoload 'helm-epa-mode "helm-epa" "\ (autoload 'helm-epa-mode "helm-epa" "\
Enable helm completion on gpg keys in epa functions. Enable helm completion on gpg keys in epa functions.
This is a minor mode. If called interactively, toggle the This is a minor mode. If called interactively, toggle the `Helm-Epa
`Helm-Epa mode' mode. If the prefix argument is positive, enable mode' mode. If the prefix argument is positive, enable the mode, and
the mode, and if it is zero or negative, disable the mode. if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-epa-mode)'. evaluate `(default-value \\='helm-epa-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
@ -310,18 +310,18 @@ or call the function `helm-ff-icon-mode'.")
Display icons from `all-the-icons' package in HFF when enabled. Display icons from `all-the-icons' package in HFF when enabled.
This is a minor mode. If called interactively, toggle the This is a minor mode. If called interactively, toggle the
`Helm-Ff-Icon mode' mode. If the prefix argument is positive, `Helm-Ff-Icon mode' mode. If the prefix argument is positive, enable
enable the mode, and if it is zero or negative, disable the mode. the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-ff-icon-mode)'. evaluate `(default-value \\='helm-ff-icon-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
NOTE: This mode is building `helm-source-find-files', so if you enable NOTE: This mode is building `helm-source-find-files', so if you enable
it from your init file, ensure to call it _after_ your defmethod's it from your init file, ensure to call it _after_ your defmethod's
@ -329,6 +329,12 @@ it from your init file, ensure to call it _after_ your defmethod's
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
(autoload 'helm-ff-clear-image-dired-thumbnails-cache "helm-files" "\
Clear `helm-ff-image-dired-thumbnails-cache'.
You may want to do this after customizing
`image-dired-thumbnail-storage' which may change the place where
thumbnail files are stored." t nil)
(autoload 'helm-ff-cleanup-image-dired-dir-and-cache "helm-files" "\ (autoload 'helm-ff-cleanup-image-dired-dir-and-cache "helm-files" "\
Cleanup `image-dired-dir' directory. Cleanup `image-dired-dir' directory.
Delete all thumb files that are no more associated with an existing Delete all thumb files that are no more associated with an existing
@ -618,18 +624,18 @@ This mode is enabled by `helm-mode', so there is no need to enable it directly.
This is a minor mode. If called interactively, toggle the This is a minor mode. If called interactively, toggle the
`Helm-Minibuffer-History mode' mode. If the prefix argument is `Helm-Minibuffer-History mode' mode. If the prefix argument is
positive, enable the mode, and if it is zero or negative, disable positive, enable the mode, and if it is zero or negative, disable the
the mode. mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-minibuffer-history-mode)'. evaluate `(default-value \\='helm-minibuffer-history-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
@ -1060,18 +1066,18 @@ or call the function `helm-top-poll-mode'.")
Refresh automatically helm top buffer once enabled. Refresh automatically helm top buffer once enabled.
This is a minor mode. If called interactively, toggle the This is a minor mode. If called interactively, toggle the
`Helm-Top-Poll mode' mode. If the prefix argument is positive, `Helm-Top-Poll mode' mode. If the prefix argument is positive, enable
enable the mode, and if it is zero or negative, disable the mode. the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-top-poll-mode)'. evaluate `(default-value \\='helm-top-poll-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)
@ -1136,15 +1142,15 @@ This is a minor mode. If called interactively, toggle the
`Helm-Popup-Tip mode' mode. If the prefix argument is positive, `Helm-Popup-Tip mode' mode. If the prefix argument is positive,
enable the mode, and if it is zero or negative, disable the mode. enable the mode, and if it is zero or negative, disable the mode.
If called from Lisp, toggle the mode if ARG is `toggle'. Enable If called from Lisp, toggle the mode if ARG is `toggle'. Enable the
the mode if ARG is nil, omitted, or is a positive number. mode if ARG is nil, omitted, or is a positive number. Disable the
Disable the mode if ARG is a negative number. mode if ARG is a negative number.
To check whether the minor mode is enabled in the current buffer, To check whether the minor mode is enabled in the current buffer,
evaluate `(default-value \\='helm-popup-tip-mode)'. evaluate `(default-value \\='helm-popup-tip-mode)'.
The mode's hook is called both when the mode is enabled and when The mode's hook is called both when the mode is enabled and when it is
it is disabled. disabled.
\(fn &optional ARG)" t nil) \(fn &optional ARG)" t nil)

View File

@ -188,14 +188,9 @@ will be honored."
(regexp-quote trunc) (regexp-quote trunc)
(regexp-quote real))))) (regexp-quote real)))))
(defun helm-bookmark-toggle-filename () (helm-make-persistent-command-from-action helm-bookmark-toggle-filename
"Toggle bookmark location visibility." "Toggle bookmark location visibility."
(interactive) 'toggle-filename 'helm-bookmark-toggle-filename-1)
(with-helm-alive-p
(helm-set-attr 'toggle-filename
'(helm-bookmark-toggle-filename-1 . never-split))
(helm-execute-persistent-action 'toggle-filename)))
(put 'helm-bookmark-toggle-filename 'helm-only t)
(defun helm-bookmark-jump (candidate) (defun helm-bookmark-jump (candidate)
"Jump to bookmark action." "Jump to bookmark action."
@ -512,12 +507,9 @@ If `browse-url-browser-function' is set to something else than
(bookmark-get-filename candidate) (bookmark-get-filename candidate)
(helm-browse-project nil))) (helm-browse-project nil)))
(defun helm-bookmark-run-browse-project () (helm-make-command-from-action helm-bookmark-run-browse-project
"Run `helm-bookmark-browse-project' from keyboard." "Run `helm-bookmark-browse-project' from keyboard."
(interactive) 'helm-bookmark-browse-project)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-bookmark-browse-project)))
(put 'helm-bookmark-run-browse-project 'helm-only t)
(defvar helm-bookmark-find-files-map (defvar helm-bookmark-find-files-map
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))
@ -759,35 +751,22 @@ consecutive words from the buffer into the new bookmark name."
(unless batch (bookmark-bmenu-surreptitiously-rebuild-list)) (unless batch (bookmark-bmenu-surreptitiously-rebuild-list))
(helm-bookmark-maybe-save-bookmark) newname)) (helm-bookmark-maybe-save-bookmark) newname))
(defun helm-bookmark-run-edit () (helm-make-command-from-action helm-bookmark-run-edit
"Run `helm-bookmark-edit-bookmark' from keyboard." "Run `helm-bookmark-edit-bookmark' from keyboard."
(interactive) 'helm-bookmark-edit-bookmark)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-bookmark-edit-bookmark)))
(put 'helm-bookmark-run-edit 'helm-only t)
(defun helm-bookmark-run-jump-other-frame () (helm-make-command-from-action helm-bookmark-run-jump-other-frame
"Jump to bookmark other frame from keyboard." "Jump to bookmark other frame from keyboard."
(interactive) 'helm-bookmark-jump-other-frame)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-bookmark-jump-other-frame)))
(put 'helm-bookmark-run-jump-other-frame 'helm-only t)
(defun helm-bookmark-run-jump-other-window () (helm-make-command-from-action helm-bookmark-run-jump-other-window
"Jump to bookmark from keyboard." "Jump to bookmark from keyboard."
(interactive) 'helm-bookmark-jump-other-window)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-bookmark-jump-other-window)))
(put 'helm-bookmark-run-jump-other-window 'helm-only t)
(defun helm-bookmark-run-delete () (helm-make-command-from-action helm-bookmark-run-delete
"Delete bookmark from keyboard." "Delete bookmark from keyboard."
(interactive) 'helm-delete-marked-bookmarks)
(with-helm-alive-p
(when (y-or-n-p "Delete bookmark(s)?")
(helm-exit-and-execute-action 'helm-delete-marked-bookmarks))))
(put 'helm-bookmark-run-delete 'helm-only t)
(defun helm-bookmark-get-bookmark-from-name (bmk) (defun helm-bookmark-get-bookmark-from-name (bmk)
"Return bookmark name even if it is a bookmark with annotation. "Return bookmark name even if it is a bookmark with annotation.

View File

@ -29,7 +29,10 @@
(declare-function helm-comp-read "helm-mode") (declare-function helm-comp-read "helm-mode")
(declare-function helm-browse-project "helm-files") (declare-function helm-browse-project "helm-files")
(declare-function helm-ff-switch-to-shell "helm-files") (declare-function helm-ff-switch-to-shell "helm-files")
(declare-function all-the-icons-icon-for-file "ext:all-the-icons.el")
(declare-function all-the-icons-octicon "ext:all-the-icons.el")
(defvar all-the-icons-mode-icon-alist)
(defvar dired-buffers) (defvar dired-buffers)
(defvar org-directory) (defvar org-directory)
(defvar helm-ff-default-directory) (defvar helm-ff-default-directory)
@ -140,6 +143,10 @@ Default to `helm-fuzzy-sort-fn' you can use
you want to keep the recentest order when narrowing candidates." you want to keep the recentest order when narrowing candidates."
:type 'function) :type 'function)
(defcustom helm-buffers-show-icons nil
"Prefix buffer names with an icon when non nil."
:type 'boolean)
;;; Faces ;;; Faces
;; ;;
@ -254,8 +261,6 @@ Note that this variable is buffer-local.")
(define-key map (kbd "C-M-%") #'helm-buffer-run-query-replace-regexp) (define-key map (kbd "C-M-%") #'helm-buffer-run-query-replace-regexp)
(define-key map (kbd "M-%") #'helm-buffer-run-query-replace) (define-key map (kbd "M-%") #'helm-buffer-run-query-replace)
(define-key map (kbd "M-R") #'helm-buffer-run-rename-buffer) (define-key map (kbd "M-R") #'helm-buffer-run-rename-buffer)
(define-key map (kbd "M-m") #'helm-toggle-all-marks)
(define-key map (kbd "M-a") #'helm-mark-all)
(define-key map (kbd "M-e") #'helm-buffer-run-switch-to-shell) (define-key map (kbd "M-e") #'helm-buffer-run-switch-to-shell)
(define-key map (kbd "C-]") #'helm-toggle-buffers-details) (define-key map (kbd "C-]") #'helm-toggle-buffers-details)
(define-key map (kbd "C-c a") #'helm-buffers-toggle-show-hidden-buffers) (define-key map (kbd "C-c a") #'helm-buffers-toggle-show-hidden-buffers)
@ -336,22 +341,16 @@ Note that this variable is buffer-local.")
(defun helm-buffers-create-new-buffer-ow (candidate) (defun helm-buffers-create-new-buffer-ow (candidate)
(helm-buffers-create-new-buffer-1 candidate 'switch-to-buffer-other-window)) (helm-buffers-create-new-buffer-1 candidate 'switch-to-buffer-other-window))
(defun helm-buffers-not-found-run-switch-ow () (helm-make-command-from-action helm-buffers-not-found-run-switch-ow
"Run create new buffer other window action from keymap." "Run create new buffer other window action from keymap."
(interactive) 'helm-buffers-create-new-buffer-ow)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffers-create-new-buffer-ow)))
(put 'helm-buffers-not-found-run-switch-ow 'helm-only t)
(defun helm-buffers-create-new-buffer-of (candidate) (defun helm-buffers-create-new-buffer-of (candidate)
(helm-buffers-create-new-buffer-1 candidate 'switch-to-buffer-other-frame)) (helm-buffers-create-new-buffer-1 candidate 'switch-to-buffer-other-frame))
(defun helm-buffers-not-found-run-switch-of () (helm-make-command-from-action helm-buffers-not-found-run-switch-of
"Run create new buffer other frame action from keymap." "Run create new buffer other frame action from keymap."
(interactive) 'helm-buffers-create-new-buffer-of)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffers-create-new-buffer-of)))
(put 'helm-buffers-not-found-run-switch-of 'helm-only t)
(defvar helm-buffer-not-found-map (defvar helm-buffer-not-found-map
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))
@ -418,19 +417,29 @@ The list is reordered with `helm-buffer-list-reorder-fn'."
proc details type) proc details type)
(append (append
(list (list
(concat prefix (let* ((buf-fname (buffer-file-name (get-buffer buf-name)))
(let* ((buf-fname (buffer-file-name (get-buffer buf-name))) (ext (if buf-fname (helm-file-name-extension buf-fname) ""))
(ext (if buf-fname (helm-file-name-extension buf-fname) "")) (bmode (with-current-buffer buf-name major-mode))
(buf-name (propertize buf-name 'face face1 (icon (when helm-buffers-show-icons
'help-echo help-echo (helm-aif (assq bmode all-the-icons-mode-icon-alist)
'type type))) (apply (cadr it) (cddr it))
(when (condition-case _err (cond ((eq type 'dired)
(string-match (format "\\.\\(%s\\)" ext) buf-name) (all-the-icons-octicon "file-directory"))
(invalid-regexp nil)) (buf-fname
(add-face-text-property (all-the-icons-icon-for-file buf-fname))
(match-beginning 1) (match-end 1) (t (all-the-icons-octicon "star" :v-adjust 0.0))))))
'helm-ff-file-extension nil buf-name)) (buf-name (propertize buf-name 'face face1
buf-name))) 'help-echo help-echo
'type type)))
(when (condition-case _err
(string-match (format "\\.\\(%s\\)" ext) buf-name)
(invalid-regexp nil))
(add-face-text-property
(match-beginning 1) (match-end 1)
'helm-ff-file-extension nil buf-name))
(if icon
(concat icon " " prefix buf-name)
(concat prefix buf-name))))
(and details (and details
(list size mode (list size mode
(propertize (propertize
@ -524,7 +533,10 @@ The list is reordered with `helm-buffer-list-reorder-fn'."
Should be called after others transformers i.e. (boring Should be called after others transformers i.e. (boring
buffers)." buffers)."
(cl-assert helm-fuzzy-matching-highlight-fn nil "Wrong type argument functionp: nil") (cl-assert helm-fuzzy-matching-highlight-fn nil "Wrong type argument functionp: nil")
(cl-loop for i in buffers (cl-loop with helm-buffers-show-icons = (and (featurep 'all-the-icons)
(default-toplevel-value
'helm-buffers-show-icons))
for i in buffers
for (name size mode meta) = (if helm-buffer-details-flag for (name size mode meta) = (if helm-buffer-details-flag
(helm-buffer--details i 'details) (helm-buffer--details i 'details)
(helm-buffer--details i)) (helm-buffer--details i))
@ -564,19 +576,22 @@ buffers)."
(get-buffer i))))) (get-buffer i)))))
(defun helm-buffer--get-preselection (buffer) (defun helm-buffer--get-preselection (buffer)
(let ((bufname (buffer-name buffer))) (let* ((bufname (buffer-name buffer))
(dispbuf (car (helm-buffer--details buffer)))
(len-dispbuf (string-width dispbuf))
(len-prefix (- len-dispbuf (string-width bufname))))
(when (and bufname (when (and bufname
(file-remote-p (with-current-buffer bufname (file-remote-p (with-current-buffer bufname
default-directory))) default-directory)))
(setq bufname (concat "@ " (helm-url-unhex-string bufname)))) (setq bufname (concat "@ " (helm-url-unhex-string bufname))))
(concat "^" (concat "^[[:multibyte:] ]*"
(if (and (null helm-buffer-details-flag) (if (and (null helm-buffer-details-flag)
(numberp helm-buffer-max-length) (numberp helm-buffer-max-length)
(> (string-width bufname) (> len-dispbuf helm-buffer-max-length))
helm-buffer-max-length))
(regexp-quote (regexp-quote
(helm-substring-by-width (helm-substring-by-width
bufname helm-buffer-max-length bufname
(- helm-buffer-max-length len-prefix)
helm-buffers-end-truncated-string)) helm-buffers-end-truncated-string))
(concat (regexp-quote bufname) (concat (regexp-quote bufname)
(if helm-buffer-details-flag (if helm-buffer-details-flag
@ -614,23 +629,11 @@ buffers)."
(type (or type (type (or type
(get-text-property (get-text-property
0 'type (helm-get-selection nil 'withprop src))))) 0 'type (helm-get-selection nil 'withprop src)))))
(save-excursion (helm-map-candidates-in-source src
(goto-char (helm-get-previous-header-pos)) (lambda (_cand) (helm-make-visible-mark))
(helm-next-line) (lambda (cand)
(let* ((next-head (helm-get-next-header-pos)) (and (not (helm-this-visible-mark))
(end (and next-head (eq (get-text-property 0 'type cand) type))))
(save-excursion
(goto-char next-head)
(forward-line -1)
(point))))
(maxpoint (or end (point-max))))
(while (< (point) maxpoint)
(helm-mark-current-line)
(let ((cand (helm-get-selection nil 'withprop src)))
(when (and (not (helm-this-visible-mark))
(eq (get-text-property 0 'type cand) type))
(helm-make-visible-mark)))
(forward-line 1) (end-of-line))))
(helm-mark-current-line) (helm-mark-current-line)
(helm-display-mode-line src t) (helm-display-mode-line src t)
(when helm-marked-candidates (when helm-marked-candidates
@ -797,13 +800,9 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(user-error "Buffer `%s' is not associated to a file" (user-error "Buffer `%s' is not associated to a file"
(buffer-name buf)))))) (buffer-name buf))))))
(defun helm-buffer-diff-persistent () (helm-make-persistent-command-from-action helm-buffer-diff-persistent
"Toggle diff buffer without quitting helm." "Toggle diff buffer without quitting helm."
(interactive) 'diff-action 'helm-buffer-toggle-diff)
(with-helm-alive-p
(helm-set-attr 'diff-action 'helm-buffer-toggle-diff)
(helm-execute-persistent-action 'diff-action)))
(put 'helm-buffer-diff-persistent 'helm-only t)
(defun helm-revert-buffer (candidate) (defun helm-revert-buffer (candidate)
(with-current-buffer candidate (with-current-buffer candidate
@ -822,13 +821,9 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(when helm-marked-candidates (helm-unmark-all)) (when helm-marked-candidates (helm-unmark-all))
(helm-force-update preselect)))) (helm-force-update preselect))))
(defun helm-buffer-revert-persistent () (helm-make-persistent-command-from-action helm-buffer-revert-persistent
"Revert buffer without quitting helm." "Revert buffer without quitting helm."
(interactive) 'revert-action 'helm-buffer-revert-and-update)
(with-helm-alive-p
(helm-set-attr 'revert-action '(helm-buffer-revert-and-update . never-split))
(helm-execute-persistent-action 'revert-action)))
(put 'helm-buffer-revert-persistent 'helm-only t)
(defun helm-buffer-save-and-update (_candidate) (defun helm-buffer-save-and-update (_candidate)
(with-helm-buffer (with-helm-buffer
@ -846,32 +841,21 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(helm-buffers-mark-similar-buffers-1 'mod) (helm-buffers-mark-similar-buffers-1 'mod)
(helm-buffer-save-and-update nil)) (helm-buffer-save-and-update nil))
(defun helm-buffer-run-save-some-buffers () (helm-make-persistent-command-from-action helm-buffer-run-save-some-buffers
"Save unsaved file buffers without quitting Helm." "Save unsaved file buffers without quitting Helm."
(interactive) 'save-some-action 'helm-buffer-save-some-buffers)
(with-helm-alive-p
(helm-set-attr 'save-some-action '(helm-buffer-save-some-buffers . never-split))
(helm-execute-persistent-action 'save-some-action)))
(put 'helm-buffer-run-save-some-buffers 'helm-only t)
(defun helm-buffer-save-persistent () (helm-make-persistent-command-from-action helm-buffer-save-persistent
"Save buffer without quitting Helm." "Save buffer without quitting Helm."
(interactive) 'save-action 'helm-buffer-save-and-update)
(with-helm-alive-p
(helm-set-attr 'save-action '(helm-buffer-save-and-update . never-split))
(helm-execute-persistent-action 'save-action)))
(put 'helm-buffer-save-persistent 'helm-only t)
(defun helm-buffers-rename-buffer (candidate) (defun helm-buffers-rename-buffer (candidate)
(with-current-buffer candidate (with-current-buffer candidate
(rename-buffer (helm-read-string "New name: " (buffer-name)) t))) (rename-buffer (helm-read-string "New name: " (buffer-name)) t)))
(defun helm-buffer-run-rename-buffer () (helm-make-command-from-action helm-buffer-run-rename-buffer
"Run rename buffer action from `helm-source-buffers-list'." "Run rename buffer action from `helm-source-buffers-list'."
(interactive) 'helm-buffers-rename-buffer)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffers-rename-buffer)))
(put 'helm-buffer-run-rename-buffer 'helm-only t)
(defun helm-switch-to-buffer-at-linum (candidate) (defun helm-switch-to-buffer-at-linum (candidate)
(let ((linum (read-number (let ((linum (read-number
@ -882,20 +866,13 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(goto-char (point-min)) (goto-char (point-min))
(forward-line (1- linum)))) (forward-line (1- linum))))
(defun helm-buffer-run-goto-line () (helm-make-command-from-action helm-buffer-run-goto-line
"Switch to buffer at line number." "Switch to buffer at line number."
(interactive) 'helm-switch-to-buffer-at-linum)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-switch-to-buffer-at-linum)))
(put 'helm-buffer-run-goto-line 'helm-only t)
(defun helm-buffer-run-kill-persistent () (helm-make-persistent-command-from-action helm-buffer-run-kill-persistent
"Kill buffer without quitting Helm." "Kill buffer without quitting Helm."
(interactive) 'kill-action 'helm-buffers-persistent-kill)
(with-helm-alive-p
(helm-set-attr 'kill-action '(helm-buffers-persistent-kill . never-split))
(helm-execute-persistent-action 'kill-action)))
(put 'helm-buffer-run-kill-persistent 'helm-only t)
(defun helm-kill-marked-buffers (_ignore) (defun helm-kill-marked-buffers (_ignore)
(let* ((bufs (helm-marked-candidates)) (let* ((bufs (helm-marked-candidates))
@ -906,12 +883,9 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
helm-visible-mark-overlays nil))) helm-visible-mark-overlays nil)))
(message "Killed %s buffer(s)" killed-bufs))) (message "Killed %s buffer(s)" killed-bufs)))
(defun helm-buffer-run-kill-buffers () (helm-make-command-from-action helm-buffer-run-kill-buffers
"Run kill buffer action from `helm-source-buffers-list'." "Run kill buffer action from `helm-source-buffers-list'."
(interactive) 'helm-kill-marked-buffers)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-kill-marked-buffers)))
(put 'helm-buffer-run-kill-buffers 'helm-only t)
(defun helm-buffer-switch-to-shell (candidate) (defun helm-buffer-switch-to-shell (candidate)
(require 'helm-files) (require 'helm-files)
@ -920,46 +894,29 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
default-directory))) default-directory)))
(helm-ff-switch-to-shell nil))) (helm-ff-switch-to-shell nil)))
(defun helm-buffer-run-switch-to-shell () (helm-make-command-from-action helm-buffer-run-switch-to-shell
(interactive) "Run switch to shell action from helm-buffers-list."
(with-helm-alive-p 'helm-buffer-switch-to-shell)
(helm-exit-and-execute-action 'helm-buffer-switch-to-shell)))
(put 'helm-buffer-run-switch-to-shell 'no-helm-mx t)
(defun helm-buffer-run-grep () (helm-make-command-from-action helm-buffer-run-grep
"Run Grep action from `helm-source-buffers-list'." "Run Grep action from `helm-source-buffers-list'."
(interactive) 'helm-grep-buffers)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-grep-buffers)))
(put 'helm-buffer-run-grep 'helm-only t)
(defun helm-buffer-run-zgrep () (helm-make-command-from-action helm-buffer-run-zgrep
"Run Grep action from `helm-source-buffers-list'." "Run Grep action from `helm-source-buffers-list'."
(interactive) 'helm-zgrep-buffers)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-zgrep-buffers)))
(put 'helm-buffer-run-zgrep 'helm-only t)
(defun helm-buffer-run-query-replace-regexp () (helm-make-command-from-action helm-buffer-run-query-replace-regexp
"Run Query replace regexp action from `helm-source-buffers-list'." "Run Query replace regexp action from `helm-source-buffers-list'."
(interactive) 'helm-buffer-query-replace-regexp)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffer-query-replace-regexp)))
(put 'helm-buffer-run-query-replace-regexp 'helm-only t)
(defun helm-buffer-run-query-replace () (helm-make-command-from-action helm-buffer-run-query-replace
"Run Query replace action from `helm-source-buffers-list'." "Run Query replace action from `helm-source-buffers-list'."
(interactive) 'helm-buffer-query-replace)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffer-query-replace)))
(put 'helm-buffer-run-query-replace 'helm-only t)
(defun helm-buffer-switch-other-window () (helm-make-command-from-action helm-buffer-switch-other-window
"Run switch to other window action from `helm-source-buffers-list'." "Run switch to other window action from `helm-source-buffers-list'."
(interactive) 'helm-buffer-switch-buffers-other-window)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffer-switch-buffers-other-window)))
(put 'helm-buffer-switch-other-window 'helm-only t)
(defun helm-buffer-switch-to-buffer-other-frame (_candidate) (defun helm-buffer-switch-to-buffer-other-frame (_candidate)
"Display marked buffers in other frame." "Display marked buffers in other frame."
@ -975,12 +932,9 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(with-selected-frame oframe (with-selected-frame oframe
(switch-to-buffer candidate)))) (switch-to-buffer candidate))))
(defun helm-buffer-switch-other-frame () (helm-make-command-from-action helm-buffer-switch-other-frame
"Run switch to other frame action from `helm-source-buffers-list'." "Run switch to other frame action from `helm-source-buffers-list'."
(interactive) 'helm-buffer-switch-to-buffer-other-frame)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffer-switch-to-buffer-other-frame)))
(put 'helm-buffer-switch-other-frame 'helm-only t)
(defun helm-buffers-switch-to-buffer-other-tab (_candidate) (defun helm-buffers-switch-to-buffer-other-tab (_candidate)
(when (fboundp 'switch-to-buffer-other-tab) (when (fboundp 'switch-to-buffer-other-tab)
@ -988,13 +942,10 @@ If REGEXP-FLAG is given use `query-replace-regexp'."
(cl-loop for buf in bufs (cl-loop for buf in bufs
do (switch-to-buffer-other-tab buf))))) do (switch-to-buffer-other-tab buf)))))
(defun helm-buffers-switch-to-buffer-new-tab () (helm-make-command-from-action helm-buffers-switch-to-buffer-new-tab
"Run switch to buffer in other tab action from `helm-source-buffers-list'." "Run switch to buffer in other tab action from `helm-source-buffers-list'."
(interactive) 'helm-buffers-switch-to-buffer-other-tab
(cl-assert (fboundp 'tab-bar-mode) nil "Tab-bar-mode not available") (cl-assert (fboundp 'tab-bar-mode) nil "Tab-bar-mode not available"))
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-buffers-switch-to-buffer-other-tab)))
(put 'helm-buffers-switch-to-buffer-new-tab 'helm-only t)
(defun helm-buffer-switch-buffers (_candidate) (defun helm-buffer-switch-buffers (_candidate)
"Switch to buffer candidates and replace current buffer. "Switch to buffer candidates and replace current buffer.
@ -1010,19 +961,13 @@ vertically."
(let ((buffers (helm-marked-candidates))) (let ((buffers (helm-marked-candidates)))
(helm-window-show-buffers buffers t))) (helm-window-show-buffers buffers t)))
(defun helm-buffer-run-ediff () (helm-make-command-from-action helm-buffer-run-ediff
"Run ediff action from `helm-source-buffers-list'." "Run ediff action from `helm-source-buffers-list'."
(interactive) 'helm-ediff-marked-buffers)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ediff-marked-buffers)))
(put 'helm-buffer-run-ediff 'helm-only t)
(defun helm-buffer-run-ediff-merge () (helm-make-command-from-action helm-buffer-run-ediff-merge
"Run ediff action from `helm-source-buffers-list'." "Run ediff action from `helm-source-buffers-list'."
(interactive) 'helm-ediff-marked-buffers-merge)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-ediff-marked-buffers-merge)))
(put 'helm-buffer-run-ediff-merge 'helm-only t)
(defun helm-buffers-persistent-kill-1 (buffer-or-name) (defun helm-buffers-persistent-kill-1 (buffer-or-name)
"Persistent action to kill buffer." "Persistent action to kill buffer."
@ -1128,12 +1073,9 @@ Can be used by any source that list buffers."
(match-string 1 i))))) (match-string 1 i)))))
(helm-multi-occur-1 buffers input))) (helm-multi-occur-1 buffers input)))
(defun helm-buffers-run-occur () (helm-make-command-from-action helm-buffers-run-occur
"Run `helm-multi-occur-as-action' by key." "Run `helm-multi-occur-as-action' by key."
(interactive) 'helm-multi-occur-as-action)
(with-helm-alive-p
(helm-exit-and-execute-action 'helm-multi-occur-as-action)))
(put 'helm-buffers-run-occur 'helm-only t)
(defun helm-buffers-toggle-show-hidden-buffers () (defun helm-buffers-toggle-show-hidden-buffers ()
(interactive) (interactive)
@ -1160,13 +1102,11 @@ Can be used by any source that list buffers."
(with-current-buffer buf (with-current-buffer buf
(helm-browse-project helm-current-prefix-arg))) (helm-browse-project helm-current-prefix-arg)))
(defun helm-buffers-run-browse-project () (helm-make-command-from-action helm-buffers-run-browse-project
"Run `helm-buffers-browse-project' from key." "Run `helm-buffers-browse-project' from key."
(interactive) 'helm-buffers-browse-project
(with-helm-alive-p (cl-assert (not helm-buffers-in-project-p)
(if helm-buffers-in-project-p nil "You are already browsing this project"))
(user-error "You are already browsing this project")
(helm-exit-and-execute-action 'helm-buffers-browse-project))))
(defun helm-buffers-quit-and-find-file-fn (source) (defun helm-buffers-quit-and-find-file-fn (source)
(let* ((sel (helm-get-selection nil nil source)) (let* ((sel (helm-get-selection nil nil source))
@ -1209,7 +1149,6 @@ displayed with the `file-name-shadow' face if available."
(helm :sources '(helm-source-buffers-list (helm :sources '(helm-source-buffers-list
helm-source-buffer-not-found) helm-source-buffer-not-found)
:buffer "*helm buffers*" :buffer "*helm buffers*"
:keymap helm-buffer-map
:truncate-lines helm-buffers-truncate-lines :truncate-lines helm-buffers-truncate-lines
:left-margin-width helm-buffers-left-margin-width)) :left-margin-width helm-buffers-left-margin-width))

View File

@ -86,29 +86,21 @@
(defun helm-color-kill-rgb (candidate) (defun helm-color-kill-rgb (candidate)
(kill-new (helm-colors-get-rgb candidate))) (kill-new (helm-colors-get-rgb candidate)))
(defun helm-color-run-insert-name () (helm-make-command-from-action helm-color-run-insert-name
"Insert name of color from `helm-source-colors'." "Insert name of color from `helm-source-colors'."
(interactive) 'helm-color-insert-name)
(with-helm-alive-p (helm-exit-and-execute-action 'helm-color-insert-name)))
(put 'helm-color-run-insert-name 'helm-only t)
(defun helm-color-run-kill-name () (helm-make-command-from-action helm-color-run-kill-name
"Kill name of color from `helm-source-colors'." "Kill name of color from `helm-source-colors'."
(interactive) 'helm-color-kill-name)
(with-helm-alive-p (helm-exit-and-execute-action 'helm-color-kill-name)))
(put 'helm-color-run-kill-name 'helm-only t)
(defun helm-color-run-insert-rgb () (helm-make-command-from-action helm-color-run-insert-rgb
"Insert RGB of color from `helm-source-colors'." "Insert RGB of color from `helm-source-colors'."
(interactive) 'helm-color-insert-rgb)
(with-helm-alive-p (helm-exit-and-execute-action 'helm-color-insert-rgb)))
(put 'helm-color-run-insert-rgb 'helm-only t)
(defun helm-color-run-kill-rgb () (helm-make-command-from-action helm-color-run-kill-rgb
"Kill RGB of color from `helm-source-colors'." "Kill RGB of color from `helm-source-colors'."
(interactive) 'helm-color-kill-rgb)
(with-helm-alive-p (helm-exit-and-execute-action 'helm-color-kill-rgb)))
(put 'helm-color-run-kill-rgb 'helm-only t)
(defvar helm-color-map (defvar helm-color-map
(let ((map (make-sparse-keymap))) (let ((map (make-sparse-keymap)))

View File

@ -149,17 +149,13 @@ See `helm-comint-prompts-list'."
(defun helm-comint-prompts-goto-other-frame (candidate) (defun helm-comint-prompts-goto-other-frame (candidate)
(helm-comint-prompts-goto candidate 'switch-to-buffer-other-frame)) (helm-comint-prompts-goto candidate 'switch-to-buffer-other-frame))
(defun helm-comint-prompts-other-window () (helm-make-command-from-action helm-comint-prompts-other-window
(interactive) "Switch to comint prompt in other window."
(with-helm-alive-p 'helm-comint-prompts-goto-other-window)
(helm-exit-and-execute-action 'helm-comint-prompts-goto-other-window)))
(put 'helm-comint-prompts-other-window 'helm-only t)
(defun helm-comint-prompts-other-frame () (helm-make-command-from-action helm-comint-prompts-other-frame
(interactive) "Switch to comint prompt in other frame."
(with-helm-alive-p 'helm-comint-prompts-goto-other-frame)
(helm-exit-and-execute-action 'helm-comint-prompts-goto-other-frame)))
(put 'helm-comint-prompts-other-frame 'helm-only t)
;;;###autoload ;;;###autoload
(defun helm-comint-prompts () (defun helm-comint-prompts ()

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