[emacs] Update spacemacs to latest master

This commit is contained in:
Sebastian Schulze 2020-10-26 10:38:33 +01:00
parent 975a8ea294
commit 50de1005d5
Signed by: bascht
GPG Key ID: 5BCB1D3B4D38A35A
532 changed files with 2892 additions and 1508 deletions

View File

@ -118,6 +118,7 @@ the [[file:CHANGELOG.org][CHANGELOG.org]] file.
(thanks to duianto and Sylvain Benner)
- Scrolling key bindings are now under ~SPC N~ instead of ~SPC n~ to be able
to define more key bindings to scroll.
- Changed decribe themes from ~SPC h d t~ to ~SPC h d T~.
- ~SPC q z~ is now ~SPC q f~ to kill a frame.
- Remove ~SPC T N~ and make ~SPC T n~ cycle and start the theme transient
state (thanks to Sylvain Benner)
@ -286,6 +287,7 @@ sane way, here is the complete list of changed key bindings
- New keybinding for =org-table-field-info= ~SPC m t f~
(thanks to Dominik Schrempf)
***** Python
- fix/implement pyvenv-tracking-mode (thanks to Daniel Nicolai)
- Key bindings (thanks to Danny Freeman):
- Changed ~SPC m s F~ to ~SPC m e F~ for =lisp-eval-defun-and-go=
- Changed ~SPC m s R~ to ~SPC m e R~ for =lisp-eval-region-and-go=
@ -341,6 +343,7 @@ sane way, here is the complete list of changed key bindings
- templates (thanks to YasuharuIida and Eivind Fonn)
**** Emacs
- helpful (thanks to Johnson Denen, Andriy Kmit)
- tabs (thanks to Deepu Mohan Puthrote)
- verb (thanks to Federico Tedin)
**** Email
- notmuch (thanks to Francesc Elies Henar, Leonard Lausen, Willian Casarin,
@ -391,6 +394,7 @@ sane way, here is the complete list of changed key bindings
- zig (thanks to Michael Hauser-Raspe)
**** Misc
- copy-as-format (thanks to Ruslan Kamashev)
- dtrt-indent (thanks to Kevin Doherty)
- ietf (thanks to Christian Hopps and Robby O'Connor)
- multiple-cursors (thanks to Codruț Constantin Gușoi and Thomas de Beauchêne)
- parinfer (thanks to Tianshu Shi)
@ -417,6 +421,7 @@ sane way, here is the complete list of changed key bindings
- dotnet (thanks to Jordan Kaye)
- import-js (thanks to Thanh Vuong and Seong Yong-ju)
- kubernetes with tramp support (thanks to Matt Bray and Maximilian Wolff)
- languagetool (thanks to Robbert van der Helm)
- lsp (thanks to Fangrui Song, 0bl.blwl, Cormac Cannon, Juuso Valkeejärvi,
Guan Xipeng, Ivan Yonchovski, Justin Martin, dscole and Sylvain Benner)
- node (thanks to jupl)
@ -516,6 +521,8 @@ Other:
terminal mode, but no longer in GUI mode. (emacs18)
*** Core changes
- Improvements:
- Make =describe-text-properties= available in the help -> describe menu via
~SPC h d t~ (thanks to Keith Pinson)
- Bind ~SPC c n~ to ~:cn~ / ~next-error~ and ~SPC c N~ to ~:cN~ / ~previous-error~
(thanks to Keith Pinson)
- Display time spent in =user-config= in home buffer (thanks to Sylvain Benner)
@ -590,6 +597,8 @@ Other:
(thanks to duianto)
- Add =emacs-version= to the default value for
=dotspacemacs-emacs-dumper-dump-file= (thanks to Evan Klitzke)
- Add =spacemacs-scratch-mode-hook= to run functions
after =spacemacs-scratch-mode= is applied to =*scratch*= buffer (thanks to rayw000)
- Fixes:
- Avoid non-idempotent use of push in init code (thanks to Miciah Masters)
- Moved Spacemacs startup progress bar to =core-progress-bar.el=, removed
@ -688,6 +697,8 @@ Other:
- Fixed broken --timed-requires and --adv-timers under Emacs 27 and above (thanks to Ying Qu)
- Removed nils from =dotspacemacs-configuration-layers= when running tests
(thanks to Ag Ibragimov)
- Fixed duplicate quick help and release notes in home buffer
(thanks to mark30247)
- Other:
- New function =configuration-layer/message= to display message in
=*Messages*= buffer (thanks to Sylvain Benner)
@ -718,6 +729,8 @@ Other:
- Added reference handler as per jump handler (thanks to Fangrui Song)
- Added =spacemacs/iwb-region-or-buffer= (thanks to bb2020)
- Enabled eager spacebind bindings by default (thanks to JAremko)
- Add info about requirement to also load additional-package in user-config
section (thank to Daniel Nicolai)
*** Distribution changes
- Refactored =spacemacs-bootstrap=, =spacemacs-ui=, and =spacemacs-ui-visual=
layers:
@ -752,6 +765,7 @@ Other:
- Added =symbol-overlay= to the =spacemacs-navigation= layer
(thanks to kenkangxgwe)
- Key bindings:
- Evilify =Custom-mode= (thanks to Keith Pinson)
- Fixed ~M-x~ prefix visualization for ~dotspacemacs-emacs-command-key~
- New ~SPC a Q~ prefix for dispatching quickurl
(thanks to Spenser "equwal" Truex:)
@ -1353,6 +1367,9 @@ Other:
- Fixed ~SPC h f~ =helm-spacemacs-help-faq= (thanks to duianto)
- Fixed =cl= package deprecated =letf= (thanks to duianto)
- Fixed origami bindings in normal mode (thanks to Tomasz Kowal)
- Handled buffer move/select/swap to last window nr +1 (thanks to duianto)
- Set =evil-undo-system= to =undo-tree= (thanks to duianto)
- Checked that =evil-undo-system= exists before it's called (thanks to khjcph)
*** Layer changes and fixes
**** Agda
- Fixes
@ -1626,6 +1643,10 @@ Other:
~raN~ 'clojure-insert-ns-form-at-point
~rsn~ 'clojure-sort-ns
(thanks to John Stevenson)
- Add key binding for new function cider-eval-list-around-point
added in CIDER 0.26
~SPC m e (~ 'cider-eval-list-at-point
(thanks to John Stevenson)
- Fixes:
- Removed =cider.nrepl/cider-middleware= in lein quick start setting
- Fixed =cider-inspector-prev-page= binding, also add ~p~ as another key
@ -1972,6 +1993,9 @@ Other:
- ~SPC g l P~ adds region permalink URL to clipboard
- Moved =magit-find-file= to view a file at a specific branch or commit
from ~SPC g f f~ to ~SPC g f F~ (thanks to duianto and Hong Xu)
- Unbind ~C-f~ from =magit-gitflow-popup= (thanks to rayw000)
- Implement performance hack for MacOS mentioned in Magit manual (thanks to
Keith Pinson)
- Fixes:
- Install magit-svn by default and activate with git-enable-magit-svn-plugin
- Added feature to toggle =evil-magit= based on editing style
@ -2147,6 +2171,8 @@ Other:
- Updated =helm-xref= to set the correct =xref-show-xrefs-function= for
Emacs 27 (thanks to Junxuan)
- Hide =helm-ff-cache-mode= mode-line indicator (thanks to duianto)
- Ignored =helm-full-frame= and =pop-up-windows= in =helm-swoop= to fix
selection navigation (thanks to Boris Sergeyev)
- Key bindings:
- Added Key bindings for directory search:
- ~SPC s d for =spacemacs/helm-dir-smart-do-search=
@ -2190,6 +2216,9 @@ Other:
- Fixed searching in a project with ~C-s~ from ~SPC p p~ (thanks to duianto)
- Fixed ~C-c C-e~ =helm-find-files-edit= action (thanks to duianto)
- Added =spacemacs/helm-dir-do-grep= to fix #13167 (thanks to Richard Kim)
- Moved the =helm-org= definition from the =org= layer to =helm= so that
=helm-spacemacs-faq= (~SPC h f~) works without the =org= layer
(thanks to Nicholas Kirchner)
**** HTML
- Added =impatient-mode= under ~SPC m i~ (thanks to geo7)
- Added =counsel-css= as an =ivy= alternative to =helm-css-scss=
@ -2267,6 +2296,19 @@ Other:
- Add ~d~ to create a project perspective and open a project root dired
buffer, from the ~SPC p l~ persp switch project prompt
(thanks to Magnus Therning and Muneeb Shaikh)
- Rebind =SPC s S= from =spacemacs/swiper-region-or-symbol= to Ivy native
=swiper-thing-at-point=
- Rebind =SPC s S= from =spacemacs/swiper-all-region-or-symbol= to Ivy native
=swiper-all-thing-at-point=
(last two points thanks to Daniel Nicolai)
- Bound =SPC s l= to =ivy-resume= (thanks to Wieland Hoffmann)
- Rebind =C-k= to =C-M-k= in =ivy-reverse-i-search= (=C-r= at a prompt)
(thanks to duianto)
- Removed definitions for =spacemacs/swiper-region-or-symbol= and
=spacemacs/swiper-all-region-or-symbol= and updated keybindings, because Ivy has
more advanced implementation via =swiper-thing-at-point= and
=swiper-all-thing-at-point=
- Add C-RET for ivy-alt-done (thanks to Daniel Nicolai)
- Limit =ripgrep= results to 150 columns (thanks to Aaron Jensen)
- Use new API to register additional transient state bindings
(thanks to Andriy Kmit')
@ -2318,6 +2360,8 @@ Other:
- Fix visual selection expansion across the buffer on `SPC s S` and `SPC s B`
(thanks to Andriy Kmit)
- Fixed =cl= package deprecated =letf*= (thanks to duianto)
- Fixed counsel find-file functions to use Spacemacs check for opening large
files (thanks to Daniel Nicolai)
**** Imenu-list
- Changed ~SPC b i~ to ~SPC b t~ for =imenu= tree view
(thansk to Sylvain Benner)
@ -2504,6 +2548,10 @@ Other:
- Removed =company-lsp=. Now =lsp-mode= is responsible for configuring
=company-backends= and it will use =company-capf=.
- Fixed upstream removal of =lsp-clients= (thanks to Colin Woodbury)
- Added documentation for =lsp-headerline-breadcrumb-mode=, =lsp-lens-mode=,
=lsp-modeline-diagnostics-mode=, and =lsp-modeline-code-actions-mode=
(thanks to Lucius Hu)
- Added =lsp-version= to ~SPC m b v~ (thanks to nanashi0x74)
**** Debug Adapter Protocol (DAP)
- Layer variables:
- Added variable =dap-enable-mouse-support=
@ -2619,6 +2667,7 @@ Other:
- ~grI~ =evil-mc-make-cursor-in-visual-selection-beg=
- ~grA~ =evil-mc-make-cursor-in-visual-selection-end=
(thanks to duianto)
- Disabled =evil-mc-mode= in =magit-mode= (thanks to duianto)
**** Neotree
- Made neotree an optional instead of a default layer
- Move neotree to its own layer in new +filetree folder
@ -2677,6 +2726,8 @@ Other:
- Added shortcuts for handling scheduled entries (thanks to Daniel Nicolai)
- Added package for =org-sticky-header-mode= (thanks to Langston Barret)
- Added package =org-jira= (thanks to Kirill A. Korinsky)
- Added package =org-rich-yank= (thanks to Keith Pinson)
- Added package =org-roam= (thanks to Mariusz Klochowicz)
- Key bindings:
- ~SPC m T i~ to toggle inline images
- Move clock related key bindings to ~SPC a o C~
@ -2766,11 +2817,28 @@ Other:
- Key binding changes for archiving (thanks to Ag Ibragimov):
- Added ~SPC m s a~ to toggle archive tag for subtree
- Added ~SPC m s A~ to archive subtree (previously ~SPC m s a~)
- Change key binding for widening from Org menu from ~SPC m s N~ to ~SPC m s w~
to match mnemonics of regular binding ~SPC n w~ (thanks to Keith Pinson)
- Added ~SPC m i L~ as =org-cliplink= into =org= layer (thanks to bb2020)
- Added ~SPC m e s~ =org-mime-org-subtree-htmlize= (thanks to Nick Anderson)
- Documented more insertion bindings (thanks to Lorenzo Manacorda):
- ~C-RET~ Insert heading at end of current subtree
- ~C-S-RET~ Insert TODO heading at end of current subtree
- Changed =helm-org-rifle= keybindings to ~SPC a o /~, falling back to its
previous functionality if using ivy (thanks to Mariusz Klochowicz)
- Added keybindings for =org-roam= under menu prefix ~SPC a o r~ and ~SPC m r~
- ~SPC a o r l~ (~SPC m r l~) Toggle org-roam links visibility
- ~SPC a o r f~ (~SPC m r f~) Find file in org-roam
- ~SPC a o r i~ (~SPC m r i~) Insert file into org-roam
- ~SPC a o r I~ (~SPC m r I~) Immediately insert file into org-roam
- ~SPC a o r g~ (~SPC m r g~) Visualize org-roam graph
- ~SPC a o r b~ (~SPC m r b~) Switch org-roam buffer
- ~SPC a o r d y~ (~SPC m r d y~) Open yesterday's daily note
- ~SPC a o r d t~ (~SPC m r d t~) Open today's daily note
- ~SPC a o r d T~ (~SPC m r d T~) Open tomorrow's daily note
(thanks to Mariusz Klochowicz)
- Added additional prefix (~SPC m m j~) for org-jira bindings
(thanks to Mariusz Klochowicz)
- Made =org= layer depend on =spacemacs-org= (thanks to Eivind Fonn)
- Remove =mu4e= and =notmuch= from =org= (thanks to Sylvain Benner)
- Use evil-org from MELPA (thanks to Eivind Fonn)
@ -2891,6 +2959,9 @@ Other:
- bind ~q~ to quit-window in view mode (thanks to Saulius Menkevičius)
**** Prolog
- Fixed autoloading error (thanks to jpathy)
**** Protobuf
- Prompt user to install the =protobuf= layer if a =.proto= file is opened
(thanks to duianto)
**** Purescript
- Enabled =purescript-decl-scan-mode= when loading =purescript-mode=
(thanks to Bjarke Vad Andersen)
@ -2981,6 +3052,8 @@ Other:
- Fixed directory selection for self compiled mspyls (thanks Jee Lee)
- Add python-test-last support for pytest runner
- Added --last-failed support for pytest (thanks to Jaakko Luttinen)
- Added =spacemacs/python-shell-send-statement= support (thanks to Lin Sun)
- Added =sphinx-doc= support (thanks to Stefan Ruschke)
**** Racket
- Restore smart closing paren behavior in racket-mode (thanks to Don March)
- Updated racket logo (thanks to Vityou)
@ -2992,6 +3065,7 @@ Other:
- Added ~-~ to enter (thanks to Rich Alesi)
- Fixed conflict with =golden-ratio= (thanks to Thomas de Beauchêne)
- Load =helm= before =ranger= (thanks to duianto)
- Add instruction to use ranger by default (thanks to Daniel Nicolai)
**** Rcirc
- New variable =rcirc-enable-late-fix= to enable or disable the included
=rcirc-late-fix= package (disabled by default).
@ -3500,6 +3574,7 @@ Other:
- Avoided installing unused diff packages (thanks to Andriy Kmit)
- Fixed error on =diff-hl-margin-mode= function being nil during startup
(thanks to Voleking)
- Fixed =git-gutter+= refresh when a buffer is staged or unstaged in Magit
**** Vue
- Added a toggle state minified/full to the transient state (thanks to duianto)
**** Xclipboard
@ -3557,21 +3632,21 @@ Other:
Stone, Kainalu Hagiwara, Kalle Lindqvist, Kechao Cai, Keith Simmons, Keith
Wygant, Kenji Miyazaki ,Kevin Ji, Kristoffer Haugsbakk, lawrsp, Leo Joseph
Buchignani III, liuchong, Lucius Hu, Luke Winship, Luke Worth, Marco Ieni,
Marco Zucconelli, Martin Sosic, Max Beutelspacher, Max Deineko, Max Nordlund,
Maximilian Wolff, Miciah Dashiel Butler Masters, mjkramer, Mikhail Yakutovich,
Miloš Mošić, milserk, Muneeb Shaikh, Nasser Alshammari, Niko Felger, Nikolai
Myllymäki, nikolaiam, Nicolas Forgerit, Oguz Serbetci, Olivier Verdier, Pancho
Horrillo, Paul Milla, Paulo Schneider, Pawan Dubey, Paweł Siudak, Phil
Pirozhkov, Philippe Bourdages, Piotr Grzesik, Rafi Khan, Rand01ph, rakyi,
Raymond Wanyoike, Reverend Homer, Robby O'Connor, Robert Roland, Rhommel
Lamas, Sam Pablo Kuper, Saulius Menkevičius, sduthil, Serghei Iakovlev, Sergio
Ugalde, Shane Kilkelly, Sid Kapur, Som Poddar, Somelauw, Soobin Rho, sorawee,
SteveJobzniak, Sunghyun Hwang, Sunlin7, Swaroop C H, Sylvain Benner, Szunti,
Thijs Vermeir, Tianyi Wang, Tim Stewart, timor, TinySong, Titov Andrey, Thomas
de Beauchêne, Tomasz Cichocinski, Trey Merkley, tzhao11, Vincent Taing, Ullas
Holla, Vlad Bokov, Vladimir Kochnev, weihua-lu, wenpin, Wieland Hoffmann,
Witoslaw Koczewski, Xiang Ji, Yi Liu, Zach Latta, Zane Sterling, zer09, Zhige
Xin)
Marco Zucconelli, mark30247, Martin Sosic, Max Beutelspacher, Max Deineko, Max
Nordlund, Maximilian Wolff, Miciah Dashiel Butler Masters, mjkramer, Mikhail
Yakutovich, Miloš Mošić, milserk, Muneeb Shaikh, nanashi0x74, Nasser
Alshammari, Niko Felger, Nikolai Myllymäki, nikolaiam, Nicolas Forgerit, Oguz
Serbetci, Olivier Verdier, Pancho Horrillo, Paul Milla, Paulo Schneider, Pawan
Dubey, Paweł Siudak, Phil Pirozhkov, Philippe Bourdages, Piotr Grzesik, Rafi
Khan, Rand01ph, rakyi, Raymond Wanyoike, Reverend Homer, Robby O'Connor,
Robert Roland, Rhommel Lamas, Sam Pablo Kuper, Saulius Menkevičius, sduthil,
Serghei Iakovlev, Sergio Ugalde, Shane Kilkelly, Sid Kapur, Som Poddar,
Somelauw, Soobin Rho, sorawee, SteveJobzniak, Sunghyun Hwang, Sunlin7, Swaroop
C H, Sylvain Benner, Szunti, Thijs Vermeir, Tianyi Wang, Tim Ruffing, Tim
Stewart, timor, TinySong, Titov Andrey, Thomas de Beauchêne, Tomasz
Cichocinski, Trey Merkley, tzhao11, Vincent Taing, Ullas Holla, Vlad Bokov,
Vladimir Kochnev, weihua-lu, wenpin, Wieland Hoffmann, Witoslaw Koczewski,
Xiang Ji, Yi Liu, Zach Latta, Zane Sterling, zer09, Zhige Xin)
**** Documentation and website
- DOCUMENTATION.org:
- Fixed the example for how to change the separator style

View File

@ -1310,7 +1310,7 @@
=dotspacemacs-command-key=. This variable represents the key to press after
the leader key to execute =M-x=. Default value is ~SPC~.
- New variable =dotspacemacs-folding-method= to allow choosing between
different code folding methods. Currently supported are =evil= and =origami=.
different code folding methods. Currently supported are =evil=, =origami= and =vimish=.
Default value is =evil=. (thanks to ralesi)
- New variable =dotspacemacs-ex-substitute-global=, if non-nil then
the behavior of the =g= flag in =:substitute= ex-command is inverted.
@ -1342,7 +1342,9 @@
*** Distribution layer changes
- Add package =evil-ediff= (thanks to justbur)
- Add package =evil-visual-mark-mode= (thanks to nixmaniack)
- Add package =origmai= (used only if new variable =dotspacemacs-folding-method=
- Add packages =vimish-fold= and =evil-vimish-fold= (used only if new variable =dotspacemacs-folding-method=
is set to =origami=) (thanks to Keith Pinson)
- Add package =origami= (used only if new variable =dotspacemacs-folding-method=
is set to =origami=) (thanks to ralesi)
- Add package =link-hint=:
- ~SPC x o~ to use avy to select a link in the frame and open it

View File

@ -181,7 +181,7 @@ The file header for =elisp= files should look like the following template:
#+BEGIN_EXAMPLE
;;; FILENAME --- NAME Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: YOUR_NAME <YOUR_EMAIL>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -511,19 +511,19 @@ the spacemacs badge: [![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/sp
- For Markdown:
```
```markdown
[![Built with Spacemacs](https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg)](http://spacemacs.org)
```
- For HTML:
```
<a href="http://spacemacs.org"><img src="https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg" /></a>
```html
<a href="http://spacemacs.org"><img alt="Built with Spacemacs" src="https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg" /></a>
```
- For Org-mode:
```
```org
[[http://spacemacs.org][file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]]
```

View File

@ -1,6 +1,6 @@
;;; zemacs.el --- Spacemacs 2016 April Fools File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-command-line.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,7 +1,7 @@
;; -*- nameless-current-name: "configuration-layer" -*-
;;; core-configuration-layer.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -214,7 +214,7 @@ LAYER has to be installed for this method to work properly."
(when (and (numberp rank)
(not (eq 'unspecified shadow-candidates))
(listp shadow-candidates))
(mapcar
(mapc
(lambda (other)
(let ((orank (cl-position other configuration-layer--used-layers)))
;; OTHER shadows LAYER if and only if OTHER's rank is bigger than
@ -2458,7 +2458,7 @@ depends on it."
(let ((layer-name
(intern (completing-read
"Choose a used layer"
(sort (copy-list configuration-layer--used-layers) #'string<)))))
(sort (cl-copy-list configuration-layer--used-layers) #'string<)))))
(let ((mode-exts (configuration-layer//lazy-install-extensions-for-layer
layer-name)))
(dolist (x mode-exts)
@ -2604,7 +2604,7 @@ Returns nil if the version is unknown."
(when (file-exists-p configuration-layer--stable-elpa-version-file)
(with-current-buffer (find-file-noselect
configuration-layer--stable-elpa-version-file)
(when (called-interactively-p)
(when (called-interactively-p 'interactive)
(message "Stable ELPA repository version is: %s" (buffer-string)))
(buffer-string))))
@ -2652,7 +2652,7 @@ MSG is an additional message append to the generic error."
(with-current-buffer (find-file-noselect
configuration-layer--stable-elpa-version-file)
(erase-buffer)
(beginning-of-buffer)
(goto-char (point-min))
(insert (format "%s" configuration-layer-stable-elpa-version))
(save-buffer)))

View File

@ -1,6 +1,6 @@
;;; core-custom-settings.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-debug.el --- Spacemacs Core File -*- lexical-binding: t; -*-
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-display-init.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-spacemacs.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-dotspacemacs.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -61,7 +61,7 @@ or `spacemacs'.")
(defvar dotspacemacs-enable-emacs-pdumper nil
"If non-nil then enable support for the portable dumper. You'll need
to compile Emacs 27 from source following the instructions in file
EXPERIMENTAL.org at to root of the git repository.")
EXPERIMENTAL.org at the root of the git repository.")
(defvar dotspacemacs-emacs-pdumper-executable-file "emacs"
"File path pointing to emacs 27 or later executable.")
@ -96,7 +96,8 @@ environment, otherwise it is strongly recommended to let it set to t.")
(defvar dotspacemacs-use-spacelpa nil
"If non-nil then Spacelpa repository is the primary source to install
a locked version of packages. If nil then Spacemacs will install the latest
version of packages from MELPA.")
version of packages from MELPA. Spacelpa is currently in experimental
state and should only be used for testing.")
(defvar dotspacemacs-verify-spacelpa-archives nil
"If non-nil then verify the signature for downloaded Spacelpa archives.")
@ -242,7 +243,7 @@ pressing `<leader> m`. Set it to `nil` to disable it.")
running Emacs in terminal.")
(defvar dotspacemacs-folding-method 'evil
"Code folding method. Possible values are `evil' and `origami'.")
"Code folding method. Possible values are `evil', `origami' and `vimish'.")
(defvar dotspacemacs-default-layout-name "Default"
"Name of the default layout.")
@ -542,7 +543,7 @@ the symbol of an editing style and the cdr is a list of keyword arguments like
Returns non nil if the layer has been effectively inserted."
(unless (configuration-layer/layer-used-p layer-name)
(with-current-buffer (find-file-noselect (dotspacemacs/location))
(beginning-of-buffer)
(goto-char (point-min))
(let ((insert-point
(re-search-forward
"[^`]dotspacemacs-configuration-layers\\s-*\n?[^(]*\\((\\)")))
@ -757,7 +758,7 @@ If ARG is non nil then ask questions to the user before installing the dotfile."
(fs (format-spec-make
?a abbreviated-file-name
?t project-name
?S system-name
?S (system-name)
?I invocation-name
?U (or (getenv "USER") "")
?b "%b"

View File

@ -1,6 +1,6 @@
;;; core-dumper.el --- Spacemacs Core File -*- lexical-binding: t -*-
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -9,6 +9,8 @@
;;
;;; License: GPLv3
(require 'spinner)
(defvar spacemacs-dump-mode 'not-dumped
"Spacemacs dump mode, can be `not-dumped', `dumped' or `dumping'.")
@ -21,11 +23,20 @@
(defvar spacemacs-dump-load-path nil
"Variable to backup the `load-path' variable built during the dump creation.")
(defvar spacemacs-dump-spinner nil
"Spinner curently being displayed on the `global-mode-string'.")
(defvar spacemacs--dump-old-global-mode-string nil
"Copy of `global-mode-string' before the spinner is created")
(defconst spacemacs-dump-directory
(concat spacemacs-cache-directory "dumps/"))
(defconst spacemacs-dump-buffer-name "*spacemacs-dumper*")
(defconst spacemacs--dump-spinner-construct
'("" (:eval (spinner-print spacemacs-dump-spinner))))
(defun spacemacs/dump-save-load-path ()
"Save `load-path' variable."
(setq spacemacs-dump-load-path load-path))
@ -41,7 +52,7 @@
(when (eq 'not-dumped spacemacs-dump-mode)
(or idle-time t)))
(defmacro spacemacs|require (&rest args)
(defmacro spacemacs|require-when-dumping (&rest args)
"Require feature if dumping."
(spacemacs|when-dumping-strict `(require ,@args)))
@ -101,18 +112,26 @@ the end of the loading of the dump file."
(message "Loading mode %S..." mode)
(funcall-interactively mode)))))
(defun spacemacs/dump-emacs ()
"Dump emacs in a subprocess."
(interactive)
(defun spacemacs/dump-emacs (&optional display-buffer)
"Dump emacs in a subprocess.
When universal prefix argument is passed then display the process buffer."
(interactive "P")
(when spacemacs-dump-process
(message "Cancel running dumping process to start a new one.")
(spinner-stop)
(delete-process spacemacs-dump-process))
(when-let ((buf (get-buffer spacemacs-dump-buffer-name)))
(with-current-buffer buf
(erase-buffer)))
(make-directory spacemacs-dump-directory t)
(let* ((dump-file (concat spacemacs-dump-directory dotspacemacs-emacs-dumper-dump-file))
(let* ((dump-file (concat spacemacs-dump-directory
dotspacemacs-emacs-dumper-dump-file))
(dump-file-temp (concat dump-file ".new")))
(unless (equal global-mode-string spacemacs--dump-spinner-construct)
(setq spacemacs--dump-old-global-mode-string global-mode-string))
(setq spacemacs-dump-spinner (make-spinner 'progress-bar nil 1))
(spinner-start spacemacs-dump-spinner)
(setq global-mode-string spacemacs--dump-spinner-construct)
(setq spacemacs-dump-process
(make-process
:name "spacemacs-dumper"
@ -125,19 +144,24 @@ the end of the loading of the dump file."
(with-current-buffer spacemacs-dump-buffer-name
(rename-file dump-file-temp dump-file t)
(goto-char (point-max))
(message "Successfully dumped Spacemacs!")
(insert (format "Done!\n" dump-file-temp dump-file)))
(with-current-buffer spacemacs-dump-buffer-name
(delete-file dump-file-temp nil)
(goto-char (point-max))
(insert "Failed\n")))
(message "Error while dumping Spacemacs!")
(insert "Failed!\n")))
(spinner-stop)
(setq global-mode-string spacemacs--dump-old-global-mode-string)
(delete-process spacemacs-dump-process)
(setq spacemacs-dump-process nil)))
:command
(list dotspacemacs-emacs-pdumper-executable-file
"--batch"
"-l" (concat spacemacs-start-directory "dump-init.el")
"-eval" (concat "(dump-emacs-portable \"" dump-file-temp "\")")
)))))
"-eval" (concat "(dump-emacs-portable \"" dump-file-temp "\")"))))
(when (equal '(4) display-buffer)
(pop-to-buffer spacemacs-dump-buffer-name))))
(defun spacemacs/dump-eval-delayed-functions ()
"Evaluate delayed functions."

View File

@ -1,6 +1,6 @@
;;; core-emacs-backports.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-env.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -87,7 +87,7 @@ current contents of the file will be overwritten."
(dolist (shell-command-switch shell-command-switches)
(call-process-shell-command
(concat executable " > " (shell-quote-argument tmpfile)))
(insert-file tmpfile))
(insert-file-contents tmpfile))
(delete-file tmpfile)
;; sort the environment variables
(sort-regexp-fields nil "^.*$" ".*?=" env-point (point-max))

View File

@ -1,6 +1,6 @@
;;; core-fonts-support.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-funcs.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -416,7 +416,8 @@ set."
(min spacemacs--gne-max-line
(max spacemacs--gne-min-line
(+ num spacemacs--gne-cur-line))))
(goto-line spacemacs--gne-cur-line)
(goto-char (point-min))
(forward-line (1- spacemacs--gne-cur-line))
(funcall spacemacs--gne-line-func
(buffer-substring (point-at-bol) (point-at-eol))))

View File

@ -1,6 +1,6 @@
;;; core-hooks.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-jump.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-keybindings.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-load-paths.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,7 +1,7 @@
;;; -*- lexical-binding: t -*-
;;; core-micro-state.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-progress-bar.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-spacemacs.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -73,7 +73,7 @@ Otherwise binding happens at the next event loop.")
(let ((mode (car args))
(prefix (string-join (cadr args) " "))
(label (caddr args)))
(spacemacs/declare-prefix prefix label)))
(spacemacs/declare-prefix-for-mode mode prefix label)))
;; `spacemacs/set-leader-keys'
(dolist (args spacebind--bs-set-leader-keys)

View File

@ -1,6 +1,6 @@
;;; core-spacemacs-buffer.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -382,7 +382,7 @@ ADDITIONAL-WIDGETS: a function for inserting a widget under the frame."
80))))
(save-restriction
(narrow-to-region (point) (point))
(add-to-list 'spacemacs-buffer--note-widgets (widget-create 'text note))
(add-to-list 'spacemacs-buffer--note-widgets (widget-create 'text :format "%v" note))
(let* ((width (spacemacs-buffer//get-buffer-width))
(padding (max 0 (floor (/ (- spacemacs-buffer--window-width
width) 2)))))

View File

@ -1,6 +1,6 @@
;;; core-spacemacs.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -43,6 +43,8 @@
"Hook run after dotspacemacs/user-config")
(defvar spacemacs-post-user-config-hook-run nil
"Whether `spacemacs-post-user-config-hook' has been run")
(defvar spacemacs-scratch-mode-hook nil
"Hook run on buffer *scratch* after `dotspacemacs-scratch-mode' is invoked.")
(defvar spacemacs--default-mode-line mode-line-format
"Backup of default mode line format.")
@ -230,7 +232,8 @@ Note: the hooked function is not executed when in dumped mode."
(setq spacemacs-post-user-config-hook-run t)
(when (fboundp dotspacemacs-scratch-mode)
(with-current-buffer "*scratch*"
(funcall dotspacemacs-scratch-mode)))
(funcall dotspacemacs-scratch-mode)
(run-hooks 'spacemacs-scratch-mode-hook)))
(when spacemacs--delayed-user-theme
(spacemacs/load-theme spacemacs--delayed-user-theme
spacemacs--fallback-theme t))

View File

@ -1,6 +1,6 @@
;;; core-themes-support.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-toggle.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,7 +1,7 @@
;;; -*- lexical-binding: t -*-
;;; core-transient-state.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Justin Burkett <justin@burkett.cc>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-use-package-ext.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; core-versions.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -0,0 +1,327 @@
;;; spinner.el --- Add spinners and progress-bars to the mode-line for ongoing operations -*- lexical-binding: t; -*-
;; Copyright (C) 2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <emacs@endlessparentheses.com>
;; Version: 1.7.3
;; Package-Requires: ((emacs "24.3"))
;; URL: https://github.com/Malabarba/spinner.el
;; Keywords: processes mode-line
;; 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:
;;
;; 1 Usage
;; ═══════
;;
;; First of all, dont forget to add `(spinner "VERSION")' to your
;; packages dependencies.
;;
;;
;; 1.1 Major-modes
;; ───────────────
;;
;; 1. Just call `(spinner-start)' and a spinner will be added to the
;; mode-line.
;; 2. Call `(spinner-stop)' on the same buffer when you want to remove
;; it.
;;
;; The default spinner is a line drawing that rotates. You can pass an
;; argument to `spinner-start' to specify which spinner you want. All
;; possibilities are listed in the `spinner-types' variable, but here are
;; a few examples for you to try:
;;
;; • `(spinner-start 'vertical-breathing 10)'
;; • `(spinner-start 'minibox)'
;; • `(spinner-start 'moon)'
;; • `(spinner-start 'triangle)'
;;
;; You can also define your own as a vector of strings (see the examples
;; in `spinner-types').
;;
;;
;; 1.2 Minor-modes
;; ───────────────
;;
;; Minor-modes can create a spinner with `spinner-create' and then add it
;; to their mode-line lighter. They can then start the spinner by setting
;; a variable and calling `spinner-start-timer'. Finally, they can stop
;; the spinner (and the timer) by just setting the same variable to nil.
;;
;; Heres an example for a minor-mode named `foo'. Assuming that
;; `foo--lighter' is used as the mode-line lighter, the following code
;; will add an *inactive* global spinner to the mode-line.
;; ┌────
;; │ (defvar foo--spinner (spinner-create 'rotating-line))
;; │ (defconst foo--lighter
;; │ '(" foo" (:eval (spinner-print foo--spinner))))
;; └────
;;
;; 1. To activate the spinner, just call `(spinner-start foo--spinner)'.
;; It will show up on the mode-line and start animating.
;; 2. To get rid of it, call `(spinner-stop foo--spinner)'. It will then
;; disappear again.
;;
;; Some minor-modes will need spinners to be buffer-local. To achieve
;; that, just make the `foo--spinner' variable buffer-local and use the
;; third argument of the `spinner-create' function. The snippet below is an
;; example.
;;
;; ┌────
;; │ (defvar-local foo--spinner nil)
;; │ (defconst foo--lighter
;; │ '(" foo" (:eval (spinner-print foo--spinner))))
;; │ (defun foo--start-spinner ()
;; │ "Create and start a spinner on this buffer."
;; │ (unless foo--spinner
;; │ (setq foo--spinner (spinner-create 'moon t)))
;; │ (spinner-start foo--spinner))
;; └────
;;
;; 1. To activate the spinner, just call `(foo--start-spinner)'.
;; 2. To get rid of it, call `(spinner-stop foo--spinner)'.
;;
;; This will use the `moon' spinner, but you can use any of the names
;; defined in the `spinner-types' variable or even define your own.
;;; Code:
(eval-when-compile
(require 'cl-lib))
(defconst spinner-types
'((3-line-clock . ["" "" "" "" "" "" "" ""])
(2-line-clock . ["" "" "" ""])
(flipping-line . ["_" "\\" "|" "/"])
(rotating-line . ["-" "\\" "|" "/"])
(progress-bar . ["[ ]" "[= ]" "[== ]" "[=== ]" "[====]" "[ ===]" "[ ==]" "[ =]"])
(progress-bar-filled . ["| |" "|█ |" "|██ |" "|███ |" "|████|" "| ███|" "| ██|" "| █|"])
(vertical-breathing . ["" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "])
(vertical-rising . ["" "" "" "" ""])
(horizontal-breathing . [" " "" "" "" "" "" "" "" "" "" "" "" "" "" ""])
(horizontal-breathing-long
. [" " "" "" "" "" "█▎" "█▌" "█▊" "██" "█▊" "█▌" "█▎" "" "" "" "" "" "" ""])
(horizontal-moving . [" " "" "" "▐▌" "" ""])
(minibox . ["" "" "" ""])
(triangle . ["" "" "" ""])
(box-in-box . ["" "" "" ""])
(box-in-circle . ["" "" "" ""])
(half-circle . ["" "" "" ""])
(moon . ["🌑" "🌘" "🌗" "🌖" "🌕" "🌔" "🌓" "🌒"]))
"Predefined alist of spinners.
Each car is a symbol identifying the spinner, and each cdr is a
vector, the spinner itself.")
(defun spinner-make-progress-bar (width &optional char)
"Return a vector of strings of the given WIDTH.
The vector is a valid spinner type and is similar to the
`progress-bar' spinner, except without the sorrounding brackets.
CHAR is the character to use for the moving bar (defaults to =)."
(let ((whole-string (concat (make-string (1- width) ?\s)
(make-string 4 (or char ?=))
(make-string width ?\s))))
(apply #'vector (mapcar (lambda (n) (substring whole-string n (+ n width)))
(number-sequence (+ width 3) 0 -1)))))
(defvar spinner-current nil
"Spinner curently being displayed on the `mode-line-process'.")
(make-variable-buffer-local 'spinner-current)
(defconst spinner--mode-line-construct
'(:eval (spinner-print spinner-current))
"Construct used to display a spinner in `mode-line-process'.")
(put 'spinner--mode-line-construct 'risky-local-variable t)
(defvar spinner-frames-per-second 10
"Default speed at which spinners spin, in frames per second.
Each spinner can override this value.")
;;; The spinner object.
(defun spinner--type-to-frames (type)
"Return a vector of frames corresponding to TYPE.
The list of possible built-in spinner types is given by the
`spinner-types' variable, but you can also use your own (see
below).
If TYPE is nil, the frames of this spinner are given by the first
element of `spinner-types'.
If TYPE is a symbol, it specifies an element of `spinner-types'.
If TYPE is 'random, use a random element of `spinner-types'.
If TYPE is a list, it should be a list of symbols, and a random
one is chosen as the spinner type.
If TYPE is a vector, it should be a vector of strings and these
are used as the spinner's frames. This allows you to make your
own spinner animations."
(cond
((vectorp type) type)
((not type) (cdr (car spinner-types)))
((eq type 'random)
(cdr (elt spinner-types
(random (length spinner-types)))))
((listp type)
(cdr (assq (elt type (random (length type)))
spinner-types)))
((symbolp type) (cdr (assq type spinner-types)))
(t (error "Unknown spinner type: %s" type))))
(cl-defstruct (spinner
(:copier nil)
(:conc-name spinner--)
(:constructor make-spinner (&optional type buffer-local frames-per-second delay-before-start)))
(frames (spinner--type-to-frames type))
(counter 0)
(fps (or frames-per-second spinner-frames-per-second))
(timer (timer-create))
(active-p nil)
(buffer (when buffer-local
(if (bufferp buffer-local)
buffer-local
(current-buffer))))
(delay (or delay-before-start 0)))
;;;###autoload
(defun spinner-create (&optional type buffer-local fps delay)
"Create a spinner of the given TYPE.
The possible TYPEs are described in `spinner--type-to-frames'.
FPS, if given, is the number of desired frames per second.
Default is `spinner-frames-per-second'.
If BUFFER-LOCAL is non-nil, the spinner will be automatically
deactivated if the buffer is killed. If BUFFER-LOCAL is a
buffer, use that instead of current buffer.
When started, in order to function properly, the spinner runs a
timer which periodically calls `force-mode-line-update' in the
curent buffer. If BUFFER-LOCAL was set at creation time, then
`force-mode-line-update' is called in that buffer instead. When
the spinner is stopped, the timer is deactivated.
DELAY, if given, is the number of seconds to wait after starting
the spinner before actually displaying it. It is safe to cancel
the spinner before this time, in which case it won't display at
all."
(make-spinner type buffer-local fps delay))
(defun spinner-print (spinner)
"Return a string of the current frame of SPINNER.
If SPINNER is nil, just return nil.
Designed to be used in the mode-line with:
(:eval (spinner-print some-spinner))"
(when (and spinner (spinner--active-p spinner))
(let ((frame (spinner--counter spinner)))
(when (>= frame 0)
(elt (spinner--frames spinner) frame)))))
(defun spinner--timer-function (spinner)
"Function called to update SPINNER.
If SPINNER is no longer active, or if its buffer has been killed,
stop the SPINNER's timer."
(let ((buffer (spinner--buffer spinner)))
(if (or (not (spinner--active-p spinner))
(and buffer (not (buffer-live-p buffer))))
(spinner-stop spinner)
;; Increment
(cl-callf (lambda (x) (if (< x 0)
(1+ x)
(% (1+ x) (length (spinner--frames spinner)))))
(spinner--counter spinner))
;; Update mode-line.
(if (buffer-live-p buffer)
(with-current-buffer buffer
(force-mode-line-update))
(force-mode-line-update)))))
(defun spinner--start-timer (spinner)
"Start a SPINNER's timer."
(let ((old-timer (spinner--timer spinner)))
(when (timerp old-timer)
(cancel-timer old-timer))
(setf (spinner--active-p spinner) t)
(unless (ignore-errors (> (spinner--fps spinner) 0))
(error "A spinner's FPS must be a positive number"))
(setf (spinner--counter spinner) (round (- (* (or (spinner--delay spinner) 0)
(spinner--fps spinner)))))
;; Create timer.
(let* ((repeat (/ 1.0 (spinner--fps spinner)))
(time (timer-next-integral-multiple-of-time (current-time) repeat))
;; Create the timer as a lex variable so it can cancel itself.
(timer (spinner--timer spinner)))
(timer-set-time timer time repeat)
(timer-set-function timer #'spinner--timer-function (list spinner))
(timer-activate timer)
;; Return a stopping function.
(lambda () (spinner-stop spinner)))))
;;; The main functions
;;;###autoload
(defun spinner-start (&optional type-or-object fps delay)
"Start a mode-line spinner of given TYPE-OR-OBJECT.
If TYPE-OR-OBJECT is an object created with `make-spinner',
simply activate it. This method is designed for minor modes, so
they can use the spinner as part of their lighter by doing:
'(:eval (spinner-print THE-SPINNER))
To stop this spinner, call `spinner-stop' on it.
If TYPE-OR-OBJECT is anything else, a buffer-local spinner is
created with this type, and it is displayed in the
`mode-line-process' of the buffer it was created it. Both
TYPE-OR-OBJECT and FPS are passed to `make-spinner' (which see).
To stop this spinner, call `spinner-stop' in the same buffer.
Either way, the return value is a function which can be called
anywhere to stop this spinner. You can also call `spinner-stop'
in the same buffer where the spinner was created.
FPS, if given, is the number of desired frames per second.
Default is `spinner-frames-per-second'.
DELAY, if given, is the number of seconds to wait until actually
displaying the spinner. It is safe to cancel the spinner before
this time, in which case it won't display at all."
(unless (spinner-p type-or-object)
;; Choose type.
(if (spinner-p spinner-current)
(setf (spinner--frames spinner-current) (spinner--type-to-frames type-or-object))
(setq spinner-current (make-spinner type-or-object (current-buffer) fps delay)))
(setq type-or-object spinner-current)
;; Maybe add to mode-line.
(unless (and (listp mode-line-process)
(memq 'spinner--mode-line-construct mode-line-process))
(setq mode-line-process
(list (or mode-line-process "")
'spinner--mode-line-construct))))
;; Create timer.
(when fps (setf (spinner--fps type-or-object) fps))
(when delay (setf (spinner--delay type-or-object) delay))
(spinner--start-timer type-or-object))
(defun spinner-start-print (spinner)
"Like `spinner-print', but also start SPINNER if it's not active."
(unless (spinner--active-p spinner)
(spinner-start spinner))
(spinner-print spinner))
(defun spinner-stop (&optional spinner)
"Stop SPINNER, defaulting to the current buffer's spinner.
It is always safe to call this function, even if there is no
active spinner."
(let ((spinner (or spinner spinner-current)))
(when (spinner-p spinner)
(let ((timer (spinner--timer spinner)))
(when (timerp timer)
(cancel-timer timer)))
(setf (spinner--active-p spinner) nil)
(force-mode-line-update))))
(provide 'spinner)
;;; spinner.el ends here

View File

@ -56,12 +56,13 @@ This function should only modify configuration layer settings."
treemacs)
;; List of additional packages that will be installed without being
;; wrapped in a layer. If you need some configuration for these
;; packages, then consider creating a layer. You can also put the
;; configuration in `dotspacemacs/user-config'.
;; To use a local version of a package, use the `:location' property:
;; '(your-package :location "~/path/to/your-package/")
;; List of additional packages that will be installed without being wrapped
;; in a layer (generally the packages are installed only and should still be
;; loaded using load/require/use-package in the user-config section below in
;; this file). If you need some configuration for these packages, then
;; consider creating a layer. You can also put the configuration in
;; `dotspacemacs/user-config'. To use a local version of a package, use the
;; `:location' property: '(your-package :location "~/path/to/your-package/")
;; Also include the dependencies as they will not be resolved automatically.
dotspacemacs-additional-packages '()
@ -134,7 +135,9 @@ It should only modify the values of Spacemacs settings."
;; If non-nil then Spacelpa repository is the primary source to install
;; a locked version of packages. If nil then Spacemacs will install the
;; latest version of packages from MELPA. (default nil)
;; latest version of packages from MELPA. Spacelpa is currently in
;; experimental state please use only for testing purposes.
;; (default nil)
dotspacemacs-use-spacelpa nil
;; If non-nil then verify the signature for downloaded Spacelpa archives.
@ -374,7 +377,7 @@ It should only modify the values of Spacemacs settings."
;; (default nil)
dotspacemacs-line-numbers nil
;; Code folding method. Possible values are `evil' and `origami'.
;; Code folding method. Possible values are `evil', `origami' and `vimish'.
;; (default 'evil)
dotspacemacs-folding-method 'evil

View File

@ -1,6 +1,6 @@
;;; packages.el --- %LAYER_NAME% layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: %USER_FULL_NAME% <%USER_MAIL_ADDRESS%>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -39,12 +39,11 @@ using a program called Git. The steps are easy and detailed in the [[https://git
The power of Spacemacs lies in its efficient key bindings. Because it is built
on Emacs, we will use Emacs conventions for key binding notation. The most
important modifier keys are:
~SPC~ = ~Space~, used as the leader key in Vim editing style.
~RET~ = ~Return~ (also known as ~Enter~)
~C-~ = ~Ctrl~
~M-~ (for "meta") = ~Alt~
~S-~ = ~Shift~
- ~SPC~ = ~Space~, used as the leader key in Vim editing style.
- ~RET~ = ~Return~ (also known as ~Enter~)
- ~C-~ = ~Ctrl~
- ~M-~ (for "meta") = ~Alt~
- ~S-~ = ~Shift~
The modifier keys can be used either in a sequence or as key chords by pressing
two keys at the same time. ~SPC 1~ is notation for a key sequence and means

View File

@ -210,7 +210,6 @@
- [[#emacs-server][Emacs Server]]
- [[#connecting-to-the-emacs-server][Connecting to the Emacs server]]
- [[#keeping-the-server-alive][Keeping the server alive]]
- [[#disabling-the-emacs-server][Disabling the Emacs server]]
- [[#troubleshoot][Troubleshoot]]
- [[#loading-fails][Loading fails]]
- [[#upgradingdowngrading-emacs-version][Upgrading/Downgrading Emacs version]]
@ -2005,7 +2004,8 @@ thusly:
| ~SPC h d p~ | describe a package (Emacs built-in function) |
| ~SPC h d P~ | describe a package (Spacemacs layer information) |
| ~SPC h d s~ | copy system information that you can paste in gitter chat |
| ~SPC h d t~ | describe a theme |
| ~SPC h d t~ | describe text properties |
| ~SPC h d T~ | describe a theme |
| ~SPC h d v~ | describe a variable |
Other help key bindings:
@ -3633,8 +3633,13 @@ To customize your editorconfig experience, read [[https://github.com/editorconfi
documentation]].
* Emacs Server
Spacemacs starts a server at launch. This server is killed whenever you close
your Emacs windows.
Spacemacs provides the ability to start a server at launch, and to kill that
server whenever you close your Emacs windows. This can be enabled by setting the
variable =dotspacemacs-enable-server= to =t= in your =~./spacemacs=.
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-enable-server t)
#+END_SRC
** Connecting to the Emacs server
You can open a file in Emacs from the terminal using =emacsclient=. Use
@ -3688,14 +3693,6 @@ server is to use the following bindings:
| ~SPC q t~ | Restart Emacs and debug with --with-timed-requires |
| ~SPC q T~ | Restart Emacs and debug with --adv-timers |
** Disabling the Emacs server
You can disable the built-in server by setting the variable
=dotspacemacs-enable-server= to =nil= in your =~/.spacemacs=.
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-enable-server nil)
#+END_SRC
* Troubleshoot
** Loading fails
If any errors happen during the loading the mode-line will turn red and the

View File

@ -378,6 +378,8 @@ include this on your =dotspacemacs/user-config=.
(add-hook 'js2-mode-hook #'(lambda () (modify-syntax-entry ?_ "w")))
;; For all programming modes
(add-hook 'prog-mode-hook #'(lambda () (modify-syntax-entry ?_ "w")))
;; For all modes
(add-hook 'after-change-major-mode-hook #'(lambda () (modify-syntax-entry ?_ "w")))
#+END_SRC
** Setup =$PATH=?

View File

@ -60,7 +60,7 @@ To understand how to best implement a layer, we have to investigate how Emacs
loads code.
** Emacs Lisp files
Emacs Lisp files contains code that can be evaluated. When evaluated, the
Emacs Lisp files contain code that can be evaluated. When evaluated, the
functions, macros and modes defined in that file become available to the current
Emacs session. Henceforth, this will be termed as /loading/ a file.

View File

@ -2,53 +2,6 @@
# Circle CI YAML file
version: 2.0
references:
steps_core_steps: &steps_core_steps
steps:
- checkout
- run:
name: core tests installation
command:
./.circleci/test core installation
- run:
name: core unit tests
command:
./.circleci/test core unit_tests
- run:
name: core functional tests
command:
./.circleci/test core func_tests
spacemacs_base_steps: &spacemacs_base_steps
steps:
- checkout
- run:
name: spacemacs-base distribution tests installation
command:
./.circleci/test layers/+distribution/spacemacs-base installation
- run:
name: spacemacs-base distribution unit tests
command:
./.circleci/test layers/+distribution/spacemacs-base unit_tests
- run:
name: spacemacs-base distribution functional tests
command:
./.circleci/test layers/+distribution/spacemacs-base func_tests
spacemacs_steps: &spacemacs_steps
steps:
- checkout
- run:
name: spacemacs distribution tests installation
command:
./.circleci/test layers/+distribution/spacemacs installation
- run:
name: spacemac distribution unit tests
command:
./.circleci/test layers/+distribution/spacemacs unit_tests
- run:
name: spacemacs distribution functional tests
command:
./.circleci/test layers/+distribution/spacemacs func_tests
jobs:
"Validate PR":
docker:
@ -64,98 +17,7 @@ jobs:
- run:
name: Make sure that this PR doesn't need rebase
command: ./.circleci/PR_rebased
# Emacs 25
"core Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
"spacemacs-base dist. Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
"spacemacs dist. Emacs25 (required)":
docker:
- image: jare/spacemacs-circleci:emacs25
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
# Emacs 26
"core Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
"spacemacs-base dist. Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
"spacemacs dist. Emacs26 (required)":
docker:
- image: jare/spacemacs-circleci:latest
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
# Emacs snapshot
"core Emacs snapshot (optional)":
docker:
- image: jare/spacemacs-circleci:emacs-snapshot
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *steps_core_steps
"spacemacs-base dist. Emacs snapshot (optional)":
docker:
- image: jare/spacemacs-circleci:emacs-snapshot
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_base_steps
"spacemacs dist. Emacs snapshot (optional)":
docker:
- image: jare/spacemacs-circleci:emacs-snapshot
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
<<: *spacemacs_steps
"CHANGELOG.develop updated (optional)":
docker:
- image: jare/spacemacs-circleci:latest
environment:
BASH_ENV: ".circleci/shared"
working_directory: ~/.emacs.d
steps:
- checkout
- run:
name: Select changed files
command: ./.circleci/select
- run:
name: Check CHANGELOG.develop
command: ./.circleci/PR_changelong
"Validate Documentation (required)":
"Validate Documentation":
docker:
- image: jare/spacemacs-circleci:latest
environment:
@ -178,33 +40,4 @@ workflows:
build:
jobs:
- "Validate PR"
# - "core Emacs25 (required)":
# requires:
# - "Validate PR"
# - "spacemacs-base dist. Emacs25 (required)":
# requires:
# - "Validate PR"
# - "core Emacs26 (required)":
# requires:
# - "Validate PR"
# - "spacemacs-base dist. Emacs26 (required)":
# requires:
# - "Validate PR"
# - "spacemacs dist. Emacs25 (required)":
# requires:
# - "Validate PR"
# - "core Emacs snapshot (optional)":
# requires:
# - "Validate PR"
# - "spacemacs-base dist. Emacs snapshot (optional)":
# requires:
# - "Validate PR"
# - "spacemacs dist. Emacs snapshot (optional)":
# requires:
# - "Validate PR"
- "Validate Documentation (required)":
requires:
- "Validate PR"
# - "CHANGELOG.develop updated (optional)":
# requires:
# - "Validate PR"
- "Validate Documentation"

View File

@ -14,23 +14,11 @@
skip_when_branch_update
fail_when_undefined_pr_number
echo "PATCH_URL: \"${pr_patch_URL}\""
files_json=$(curl "${pr_file_list_URL}" --silent)
curl "${pr_patch_URL}" --output /tmp/patch --silent
first_commit=$(echo $(head -n 1 /tmp/patch) | sed -n 's/From \([a-zA-Z0-9]\+\).*/\1/p')
if [[ -z "${first_commit// }" ]]; then
echo "Can't find first commit"
exit 1
else
echo "First commit: ${first_commit}"
fi
git diff --name-only "${first_commit}^" HEAD > /tmp/changed_files
if [ $? -ne 0 ]; then
echo "Git diff failed"
exit 1
fi
for file_name in $(echo "${files_json}" | jq -r '.[].filename'); do
echo "${file_name}" >> /tmp/changed_files
done
echo_headline "CHANGED FILES:"
cat /tmp/changed_files

View File

@ -17,16 +17,24 @@ mst_b="master"
prj_owner="syl20bnr"
prj_repo="spacemacs"
bot_login="emacspace"
upstream_data_URL_root="https://api.github.com/repos/"
api_URL_root="https://api.github.com"
upstream_data_URL_root="${api_URL_root}/"
upstream_data_URL_root+="repos/"
upstream_data_URL_root+="${prj_owner}/"
upstream_data_URL_root+="${prj_repo}"
CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"
pr_data_URL="${upstream_data_URL_root}/pulls/${CIRCLE_PR_NUMBER}"
upstream_data_URL="${upstream_data_URL_root}/branches/develop"
pr_patch_URL="https://patch-diff.githubusercontent.com/raw/"
pr_patch_URL+="${prj_owner}/"
pr_patch_URL+="${prj_repo}/pull/"
pr_patch_URL+="${CIRCLE_PR_NUMBER}.patch"
pr_file_list_URL="${api_URL_root}/"
pr_file_list_URL+="repos/"
pr_file_list_URL+="${prj_owner}/"
pr_file_list_URL+="${prj_repo}/"
pr_file_list_URL+="pulls/"
pr_file_list_URL+="${CIRCLE_PR_NUMBER}/"
pr_file_list_URL+="files"
# Helpers
echo_headline () {

View File

@ -1,9 +1,6 @@
name: elisp_tests
name: elisp tests
on:
schedule:
# Every 4 hours
- cron: '0 */4 * * *'
pull_request:
push:
branches:
@ -12,15 +9,8 @@ on:
env:
TEST_SCRIPT: ./.github/workflows/scripts/test
MIRROR_SCRIPT: ./.github/workflows/scripts/create_mirror
EM_SCRIPT_PATH: $HOME/elpa-mirror.el
MIRROR_DIR: $HOME/elpa
MIRROR_NAME: elpa-mirror
EM_SCRIPT_URL: "https://raw.githubusercontent.com/\
redguardtoo/\
elpa-mirror/\
master/\
elpa-mirror.el"
TESTELPA_REPO: JAremko/testelpa-develop
GITHUB_WORKSPACE: ${{ github.workspace }}
defaults:
run:
@ -28,13 +18,12 @@ defaults:
jobs:
test:
if: ${{ github.event_name != 'schedule' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
emacs_version: [25.3, 26.3, 27.1, snapshot]
emacs_version: [26.3, 27.1, snapshot]
test_root:
- core
- layers/+distribution/spacemacs-base
@ -52,45 +41,20 @@ jobs:
version: ${{ matrix.emacs_version }}
if: ${{ matrix.os == 'windows-latest' }}
- name: Download elpa mirror
continue-on-error: true
uses: actions/download-artifact@v2
with:
name: ${{ env.MIRROR_NAME }}
path: ${{ env.MIRROR_DIR }}
- name: List mirror content
continue-on-error: true
run: find ${{ env.MIRROR_DIR }}
- uses: actions/checkout@v2
- name: Fetch Spacemacs elpa mirror
run: |
curl -L \
https://github.com/$TESTELPA_REPO/releases/latest/download/elpa.zip \
--output /tmp/elpa.zip
- name: Unpack elpa mirror
run: unzip /tmp/elpa.zip -d ../testelpa_mirror
- name: Dependencies installation
run: ${{ env.TEST_SCRIPT }} ${{ matrix.test_root }} installation
- name: Unit testing
run: ${{ env.TEST_SCRIPT }} ${{ matrix.test_root }} unit_tests
- name: Functional testing
run: ${{ env.TEST_SCRIPT }} ${{ matrix.test_root }} func_tests
update_elpa_mirror:
if: ${{ github.event_name == 'schedule' }}
runs-on: ubuntu-latest
steps:
- name: Install Emacs
uses: purcell/setup-emacs@master
with:
version: 27.1
- name: Download elpa-mirror.el
run: curl -o ${{ env.EM_SCRIPT_PATH }} ${{ env.EM_SCRIPT_URL }}
- uses: actions/checkout@v2
- name: Create local mirror
run: ${{ env.MIRROR_SCRIPT }}
- name: Upload mirror artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.MIRROR_NAME }}
path: ${{ env.MIRROR_DIR }}

View File

@ -0,0 +1,21 @@
on:
issue_comment:
types: [created]
name: Automatic Rebase
jobs:
rebase:
name: Rebase
if: |
github.event.issue.pull_request != '' &&
contains(github.event.comment.body, '/rebase') &&
github.event.comment.author_association == 'COLLABORATOR'
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.3.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -0,0 +1,22 @@
(setq configuration-layer-elpa-archives
`(("melpa" . "melpa.org/packages/")
("org" . "orgmode.org/elpa/")
("gnu" . "elpa.gnu.org/packages/")
("spacelpa" . ,(concat configuration-layer-stable-elpa-directory
"spacelpa-"
configuration-layer-stable-elpa-version))
("testelpa" . ,(format "%s/../testelpa_mirror"
(getenv "GITHUB_WORKSPACE")))))
(setq package-archive-priorities
'(("testelpa" . 9)
("spacelpa" . 8)
("melpa" . 4)
("org" . 2)
("gnu" . 1)))
;; NOTE: Testing if that bug with hanging/crushing dependency
;; installation from local repos caused by child Emacs async process.
(with-eval-after-load 'async-bytecomp
(setq async-bytecomp-allowed-packages nil))

View File

@ -17,6 +17,8 @@ abs_p() {
}
ln -s "$(pwd)" $HOME/.emacs.d
cp .github/workflows/scripts/dot_lock.el ~/.emacs.d/.lock
testdir=$(abs_p tests/$1)
cd ..

View File

@ -91,3 +91,6 @@ tags
.tags
!tags/
gtags.files
eln-cache/
meghanada/
vimish-fold/

View File

@ -1,5 +1,5 @@
---
# TravisCI YAML file
# TravisCI YAML file for publishing/updating/formatting Spacemacs documentation.
language: generic
sudo: required
services:

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
## Documentation publishing script for Travis CI integration
## HTML documentation publishing script for Travis CI integration
##
## Copyright (c) 2012-2014 Sylvain Benner
## Copyright (c) 2014-2018 Sylvain Benner & Contributors

View File

@ -1,5 +1,5 @@
#!/usr/bin/env bash
## Documentation publishing script for Travis CI integration
## ORG documentation publishing script for Travis CI integration
##
## Copyright (c) 2012-2014 Sylvain Benner
## Copyright (c) 2014-2018 Sylvain Benner & Contributors

View File

@ -1,6 +1,6 @@
;;; early-init.el --- Spacemacs Early Init File
;;
;; Copyright (c) 2018 Sylvain Benner & Contributors
;; Copyright (c) 2020 Sylvain Benner & Contributors
;;
;; Author: Miciah Dashiel Butler Masters <miciah.masters@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; init.el --- Spacemacs Initialization File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -68,8 +68,8 @@ is convenient but not recommended.
#+BEGIN_SRC emacs-lisp
(setq rcirc-server-alist
'(("irc.freenode.net"
:user-name "spacemacs_user"
:port "1337"
:user-name "spacemacs_user" :encryption tls
:port "6697"
:password "le_passwd"
:channels ("#emacs"))))
#+END_SRC

View File

@ -1,6 +1,6 @@
;;; config.el --- Spell Checking Layer configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Spell Checking Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Spell Checking Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; config.el --- Syntax Checking Layer configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Syntax Checking Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Syntax Checking Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; config.el --- Auto-completion configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Auto-completion functions File -*- lexical-binding: t; -*-
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Auto-completion Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -334,7 +334,7 @@
'spacemacs/force-yasnippet-off '(term-mode-hook
shell-mode-hook
eshell-mode-hook))
(spacemacs|require 'yasnippet)
(spacemacs|require-when-dumping 'yasnippet)
(spacemacs/add-to-hooks 'spacemacs/load-yasnippet '(prog-mode-hook
markdown-mode-hook
org-mode-hook))

View File

@ -1,6 +1,6 @@
;;; config.el --- Helm Configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Helm Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; layers.el --- Helm layer layers File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Helm Layer packages File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -21,6 +21,7 @@
(helm-ls-git :require git)
helm-make
helm-mode-manager
helm-org
helm-projectile
helm-swoop
helm-themes
@ -160,7 +161,7 @@
(advice-add 'helm-grep-save-results-1 :after 'spacemacs//gne-init-helm-grep)
;; helm-locate uses es (from everything on windows which doesn't like fuzzy)
(helm-locate-set-command)
(setq helm-locate-fuzzy-match (string-match "locate" helm-locate-command))
(setq helm-locate-fuzzy-match (and helm-use-fuzzy (string-match "locate" helm-locate-command)))
(setq helm-boring-buffer-regexp-list
(append helm-boring-buffer-regexp-list
spacemacs-useless-buffers-regexp))
@ -320,6 +321,11 @@
;; "hm" 'helm-disable-minor-mode
"h C-m" 'helm-enable-minor-mode)))
(defun helm/init-helm-org ()
(use-package helm-org
:commands (helm-org-in-buffer-headings)
:defer (spacemacs/defer)))
(defun helm/pre-init-helm-projectile ()
;; overwrite projectile settings
(spacemacs|use-package-add-hook projectile
@ -388,9 +394,16 @@
(setq helm-swoop-split-with-multiple-windows t
helm-swoop-split-direction 'split-window-vertically
helm-swoop-speed-or-color t
helm-swoop-split-window-function 'helm-default-display-buffer
helm-swoop-split-window-function 'spacemacs/helm-swoop-split-window-function
helm-swoop-pre-input-function (lambda () ""))
(defun spacemacs/helm-swoop-split-window-function (&rest args)
"Override to make helm settings (like `helm-split-window-default-side') work"
(let (;; current helm-swoop implemenatation prevents it from being used fullscreen
(helm-full-frame nil)
(pop-up-windows t))
(apply 'helm-default-display-buffer args)))
(defun spacemacs/helm-swoop-region-or-symbol ()
"Call `helm-swoop' with default input."
(interactive)

View File

@ -77,17 +77,19 @@ In case you don't want to read everything, at least familiarise with
Some useful key bindings are presented in the following table.
| Key binding | Description |
|-------------+------------------------------------------------------------------------------------------------------|
| ~RET~ | call default action on current candidate |
| ~M-RET~ | the same as ~RET~ but doesn't close completion minibuffer |
| ~C-M-j~ | use current input immediately (this can be used to create a new file in Find File) |
| ~TAB~ | complete partially |
| ~M-o~ | show the list of valid actions on current candidate (then press any of described keys to execute it) |
| ~C-M-o~ | the same as ~M-o~ but doesn't close completion minibuffer |
| ~C-'~ | use avy to quickly select completion on current page (sometimes faster than using arrows) |
| ~<ESC>~ | close minibuffer |
| ~C-M-k~ | kill buffer (in =ivy-switch-buffer= (~SPC b b~)) |
| Key binding | Description |
|-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------|
| ~RET~ | call default action on current candidate |
| ~M-RET~ | the same as ~RET~ but doesn't close completion minibuffer |
| ~C-RET~ | when completing file names, selects the current directory candidate and starts a new completion session there, otherwise it is the same as ivy-done |
| ~C-M-j~ | use current input immediately (this can be used to create a new file in Find File) |
| ~TAB~ | complete partially |
| ~M-o~ | show the list of valid actions on current candidate (then press any of described keys to execute it) |
| ~C-M-o~ | the same as ~M-o~ but doesn't close completion minibuffer |
| ~C-'~ | use avy to quickly select completion on current page (sometimes faster than using arrows) |
| ~<ESC>~ | close minibuffer |
| ~C-M-k~ | kill buffer (in =ivy-switch-buffer= (~SPC b b~)) |
| ~C-M-k~ | kill buffer (in =ivy-reverse-i-search= (~C-r~ at a prompt)) |
** Transient state
Press ~M-SPC~ (~m-M-SPC~ [[https://github.com/syl20bnr/spacemacs/blob/cb48ec74c1f401bd2945760799633c0e81e69088/doc/CONVENTIONS.org#transient-state][on macOS]]) anytime in Ivy to get into the transient state. Additional actions

View File

@ -1,6 +1,6 @@
;;; config.el --- Ivy Layer Configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Ivy Layer functions File for Spacemacs -*- lexical-binding: t; -*-
;;
;; Copyright (c) 2012-2019 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -12,7 +12,7 @@
;; Counsel
;; async
;;; async
(defvar spacemacs--counsel-initial-cands-shown nil)
@ -61,7 +61,42 @@
(ivy--insert-prompt))))
(setq counsel--async-time (current-time))))
;; search
;;; find-file functions, leaving large file check to `spacemacs/check-large-file'
(defun spacemacs//counsel-find-file-action (x)
"Find file X."
(with-ivy-window
(cond ((and counsel-find-file-speedup-remote
(file-remote-p ivy--directory))
(let ((find-file-hook nil))
(find-file (expand-file-name x ivy--directory))))
((member (file-name-extension x) counsel-find-file-extern-extensions)
(counsel-find-file-extern x))
(t
(switch-to-buffer (find-file-noselect (expand-file-name x ivy--directory) t nil t))))))
(defun spacemacs/counsel-find-file (&optional initial-input)
"Forward to `find-file'.
When INITIAL-INPUT is non-nil, use it in the minibuffer during completion."
(interactive)
(counsel--find-file-1
"Find file: " initial-input
#'spacemacs//counsel-find-file-action
'counsel-find-file))
(defun spacemacs/counsel-recentf ()
"Find a file on `recentf-list'."
(interactive)
(require 'recentf)
(recentf-mode)
(ivy-read "Recentf: " (counsel-recentf-candidates)
:action (lambda (f)
(with-ivy-window
(switch-to-buffer (find-file-noselect f t nil t))))
:require-match t
:caller 'counsel-recentf))
;;; search
(defvar spacemacs--counsel-search-cmd)
@ -193,7 +228,7 @@ that directory."
(counsel-delete-process)
(swiper--cleanup)))))))
;; Define search functions for each tool
;;; Define search functions for each tool
(cl-loop
for (tools tool-name) in '((dotspacemacs-search-tools "auto")
((list "rg") "rg")
@ -327,7 +362,7 @@ To prevent this error we just wrap `describe-mode' to defeat the
(swiper--cleanup)
(swiper--add-overlays (ivy--regex ivy-text)))))))
;; org
;;; org
;; see https://github.com/abo-abo/swiper/issues/177
(defun spacemacs//counsel-org-ctrl-c-ctrl-c-org-tag ()
@ -373,7 +408,7 @@ To prevent this error we just wrap `describe-mode' to defeat the
(t 'counsel-imenu))))
;; Ivy
;;; Ivy
(defun spacemacs//ivy-command-not-implemented-yet (key)
(let ((-key key))
@ -399,7 +434,7 @@ To prevent this error we just wrap `describe-mode' to defeat the
(ivy-wgrep-change-to-wgrep-mode)
(evil-normal-state))
;; Evil
;;; Evil
(defun spacemacs/ivy-evil-registers ()
"Show evil registers"
@ -418,7 +453,7 @@ To prevent this error we just wrap `describe-mode' to defeat the
(insert (replace-regexp-in-string "\\^J" "\n"
(substring-no-properties candidate 4))))
;; Layouts
;;; Layouts
(defun spacemacs/ivy-spacemacs-layouts ()
"Control Panel for Spacemacs layouts. Has many actions.
@ -461,31 +496,3 @@ Closing doesn't kill buffers inside the layout while killing layouts does."
(spacemacs//current-layout-name))
(persp-names)
:action 'persp-kill))
;; Swiper
(defun spacemacs//counsel-current-region-or-symbol ()
"Return contents of the region or symbol at point.
If region is active, mark will be deactivated in order to prevent region
expansion when jumping around the buffer with counsel. See `deactivate-mark'."
(if (region-active-p)
(prog1
(buffer-substring-no-properties (region-beginning) (region-end))
(deactivate-mark))
(thing-at-point 'symbol t)))
(defun spacemacs/swiper-region-or-symbol ()
"Run `swiper' with the selected region or the symbol
around point as the initial input."
(interactive)
(let ((input (spacemacs//counsel-current-region-or-symbol)))
(swiper input)))
(defun spacemacs/swiper-all-region-or-symbol ()
"Run `swiper-all' with the selected region or the symbol
around point as the initial input."
(interactive)
(let ((input (spacemacs//counsel-current-region-or-symbol)))
(swiper-all input)))

View File

@ -1,6 +1,6 @@
;;; layers.el --- Ivy Layer layers File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Ivy Layer packages File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -20,6 +20,7 @@
helm-make
imenu
ivy
ivy-avy
ivy-hydra
(ivy-rich :toggle ivy-enable-advanced-buffer-information)
(ivy-spacemacs-help :location local)
@ -42,8 +43,8 @@
spacemacs--symbol-highlight-transient-state-doc
" Search: [_s_] swiper [_b_] buffers [_f_] files [_/_] project"))
(spacemacs/transient-state-register-add-bindings 'symbol-highlight
'(("s" spacemacs/swiper-region-or-symbol :exit t)
("b" spacemacs/swiper-all-region-or-symbol :exit t)
'(("s" swiper-thing-at-point :exit t)
("b" swiper-all-thing-at-point :exit t)
("f" spacemacs/search-auto-region-or-symbol :exit t)
("/" spacemacs/search-project-auto-region-or-symbol :exit t)))))
@ -57,7 +58,7 @@
(spacemacs/set-leader-keys
dotspacemacs-emacs-command-key 'counsel-M-x
;; files
"ff" 'counsel-find-file
"ff" 'spacemacs/counsel-find-file
"fel" 'counsel-find-library
"fL" 'counsel-locate
;; help
@ -205,12 +206,14 @@
"Ce" 'counsel-colors-emacs
"Cf" 'counsel-faces
"Cw" 'counsel-colors-web
"fr" 'counsel-recentf
"fr" 'spacemacs/counsel-recentf
"rl" 'ivy-resume
"sl" 'ivy-resume
"bb" 'ivy-switch-buffer)
;; Moved C-k to C-M-k
(define-key ivy-switch-buffer-map (kbd "C-M-k") 'ivy-switch-buffer-kill))
(define-key ivy-switch-buffer-map (kbd "C-M-k") 'ivy-switch-buffer-kill)
(define-key ivy-reverse-i-search-map
(kbd "C-M-k") 'ivy-reverse-i-search-kill))
:config
(progn
;; custom actions for recentf
@ -224,6 +227,7 @@
;; mappings to quit minibuffer or enter transient state
(define-key ivy-minibuffer-map [escape] 'minibuffer-keyboard-quit)
(define-key ivy-minibuffer-map (kbd "M-SPC") 'hydra-ivy/body)
(define-key ivy-minibuffer-map (kbd "C-<return>") #'ivy-alt-done)
(when ivy-ret-visits-directory
(define-key ivy-minibuffer-map (kbd "RET") #'ivy-alt-done)
@ -246,6 +250,9 @@
;; allow to select prompt in some ivy functions
(setq ivy-use-selectable-prompt t))))
(defun ivy/init-ivy-avy ()
(use-package ivy-avy))
(defun ivy/init-ivy-hydra ()
(use-package ivy-hydra)
(define-key hydra-ivy/keymap [escape] 'hydra-ivy/keyboard-escape-quit-and-exit))
@ -366,9 +373,9 @@
(progn
(spacemacs/set-leader-keys
"ss" 'swiper
"sS" 'spacemacs/swiper-region-or-symbol
"sS" 'swiper-thing-at-point
"sb" 'swiper-all
"sB" 'spacemacs/swiper-all-region-or-symbol)
"sB" 'swiper-all-thing-at-point)
(global-set-key "\C-s" 'swiper))))
(defun ivy/init-wgrep ()

View File

@ -1,6 +1,6 @@
;;; config.el --- Tempalte Layer config File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Template Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; layers.el --- Spacemacs base distribution layers File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -10,7 +10,7 @@
This layer loads the necessary packages for spacemacs to start-up.
** Features:
- Loads =evil= key bindings and macros for auto-evilifcation of maps
- Loads =evil= key bindings and macros for auto-evilification of maps
- Loads =holy= and =hybrid= modes
- Loads the official Spacemacs theme
- Loads =use-package= which is used to load other packages more easily

View File

@ -1,6 +1,6 @@
;;; config.el --- Spacemacs Bootstrap Layer configuration File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Spacemacs Bootstrap Layer functions File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; evil-evilified-state.el --- A minimalistic evil state
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; Keywords: convenience editing evil spacemacs

View File

@ -1,6 +1,6 @@
;;; holy-mode.el --- Enter the church of Emacs
;; Copyright (c) 2015-2018 Sylvain Benner
;; Copyright (c) 2015-2020 Sylvain Benner
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; Keywords: convenience editing

View File

@ -1,6 +1,6 @@
;;; hybrid-mode.el --- Put one foot in the church of Emacs
;; Copyright (C) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Authors: Justin Burkett <justin@burkett.cc>
;; Chris Ewald <chrisewald@gmail.com>

View File

@ -1,6 +1,6 @@
;;; packages.el --- Mandatory Bootstrap Layer packages File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -67,6 +67,9 @@
(require 'evil)
(evil-mode 1)
(when (fboundp 'evil-set-undo-system)
(evil-set-undo-system 'undo-tree))
;; Use evil as a default jump handler
(add-to-list 'spacemacs-default-jump-handlers 'evil-goto-definition)

View File

@ -1,6 +1,6 @@
;;; layers.el --- Spacemacs distribution Layer layers File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; config.el --- Better Emacs Defaults Layer configuration variables File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Thomas de Beauchêne <thomas.de.beauchene@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Better Emacs Defaults Layer functions File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; keybindings.el --- Better Emacs Defaults Layer key bindings File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Better Emacs Defaults Layer functions File
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Thomas de Beauchêne <thomas.de.beauchene@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; config.el --- ibuffer configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Aleksandr Guljajev <gulj.aleks@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- ibuffer Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Aleksandr Guljajev <gulj.aleks@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- ibuffer Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Aleksandr Guljajev <aleksandr.guljajev@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -21,6 +21,7 @@
- [[#different-bullets][Different bullets]]
- [[#project-support][Project support]]
- [[#org-brain-support][Org-brain support]]
- [[#org-roam-support][Org-roam support]]
- [[#mode-line-support][Mode line support]]
- [[#sticky-header-support][Sticky header support]]
- [[#epub-support][Epub support]]
@ -57,6 +58,7 @@
- [[#verb-mode-bindings][Verb-mode bindings]]
- [[#verb-response-body-mode-bindings][Verb-response-body-mode bindings]]
- [[#verb-response-headers-mode-bindings][Verb-response-headers-mode bindings]]
- [[#org-roam][Org-roam]]
* Description
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
@ -69,6 +71,7 @@ This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
- Insertion of images via [[https://github.com/abo-abo/org-download][org-download]]
- Project-specific TODOs via [[https://github.com/IvanMalison/org-projectile][org-projectile]]
- Easy insert of URLs from clipboard with org format via [[https://github.com/rexim/org-cliplink][org-cliplink]]
- Rich insert of code (into a source block with highlighting, and a link) from other buffers via [[https://github.com/unhammer/org-rich-yank][org-rich-yank]]
* BibTeX
For more extensive support of references through BibTeX files, have a look at
@ -293,6 +296,17 @@ the following snippet.
For Emacs 25 or later, support for [[https://kungsgeten.github.io/org-brain.html][org-brain]] is included. See the [[https://github.com/Kungsgeten/org-brain][org-brain
package documentation]] for more information.
** Org-roam support
To install org-roam support set the variable =org-enable-roam-support= to =t=.
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(
(org :variables
org-enable-roam-support t)))
#+END_SRC
More information about org-roam package (including manual) can be found at [[https://www.orgroam.com/][Org-roam]] website.
** Mode line support
To temporarily enable mode line display of org clock, press ~SPC t m c~.
@ -383,6 +397,7 @@ To install [[https://github.com/federicotdn/verb][Verb]], an HTTP client based o
| ~SPC m T c~ | org-toggle-checkbox |
| ~SPC m T e~ | org-toggle-pretty-entities |
| ~SPC m T i~ | org-toggle-inline-images |
| ~SPC m T n~ | org-num-mode |
| ~SPC m T l~ | org-toggle-link-display |
| ~SPC m T t~ | org-show-todo-tree |
| ~SPC m T T~ | org-todo |
@ -513,7 +528,7 @@ are also available.
| ~SPC m s k~ | org-move-subtree-up |
| ~SPC m s j~ | org-move-subtree-down |
| ~SPC m s n~ | org-narrow-to-subtree |
| ~SPC m s N~ | widen narrowed subtree |
| ~SPC m s w~ | widen narrowed subtree |
| ~SPC m s r~ | org-refile |
| ~SPC m s s~ | show sparse tree |
| ~SPC m s S~ | sort trees |
@ -537,6 +552,7 @@ are also available.
| ~SPC m i L~ | insert URL with its page title from clipboard |
| ~SPC m i n~ | org-add-note |
| ~SPC m i p~ | org-set-property |
| ~SPC m i r~ | org-rich-yank (paste code into a =src= block) |
| ~SPC m i s~ | org-insert-subheading |
| ~SPC m i t~ | org-set-tags |
@ -750,7 +766,7 @@ org-present must be activated explicitly by typing: ~SPC SPC org-present~
| Key binding | Description |
|-------------+--------------------------------------------|
| ~SPC a o r~ | Search org files for keywords and headings |
| ~SPC a o /~ | Search org files for keywords and headings |
** Org-projectile
@ -834,23 +850,26 @@ are available.
| ~r~ | Rename this, or another, entry |
** Org-jira
Key binding prefixes:
- ~SPC a o J~ (everywhere)
- ~SPC m m j~ (in an org-mode buffer)
| Key binding | Description |
|-----------------+--------------------------------------------------|
| ~SPC a o J p g~ | Get projects list |
| ~SPC a o J i b~ | Open the current issue in a WWW browser |
| ~SPC a o J i g~ | Get issues |
| ~SPC a o J i h~ | Get only head of issues |
| ~SPC a o J i f~ | Get only head of issues from filter |
| ~SPC a o J i u~ | Update an issue at point |
| ~SPC a o J i w~ | Progress an issue at point |
| ~SPC a o J i r~ | Refresh an issue at point |
| ~SPC a o J i c~ | Create an issue at point |
| ~SPC a o J i y~ | Copy current issue key |
| ~SPC a o J s c~ | Create a subtask |
| ~SPC a o J s g~ | Get subtasks |
| ~SPC a o J c u~ | Update the comment at point or add a new comment |
| ~SPC a o J t j~ | Convert the TODO item at point to a Jira ticket |
| Key binding | Description |
|----------------+--------------------------------------------------|
| ~[prefix] p g~ | Get projects list |
| ~[prefix] i b~ | Open the current issue in a WWW browser |
| ~[prefix] i g~ | Get issues |
| ~[prefix] i h~ | Get only head of issues |
| ~[prefix] i f~ | Get only head of issues from filter |
| ~[prefix] i u~ | Update an issue at point |
| ~[prefix] i w~ | Progress an issue at point |
| ~[prefix] i r~ | Refresh an issue at point |
| ~[prefix] i c~ | Create an issue at point |
| ~[prefix] i y~ | Copy current issue key |
| ~[prefix] s c~ | Create a subtask |
| ~[prefix] s g~ | Get subtasks |
| ~[prefix] c u~ | Update the comment at point or add a new comment |
| ~[prefix] t j~ | Convert the TODO item at point to a Jira ticket |
** Verb
*** Verb-mode bindings
@ -880,3 +899,20 @@ are available.
| Key binding | Description |
|-------------+-----------------------------------------------------|
| ~SPC m r q~ | Kill current response headers buffer and its window |
** Org-roam
Key binding prefixes:
- ~SPC a o r~ (anywhere)
- ~SPC m r~ (in an org-mode buffer)
| Key binding | Description |
|------------------+---------------------------------------|
| ~[prefix] r l~ | Toggle org-roam links visibility |
| ~[prefix] r f~ | Find file in org-roam |
| ~[prefix] r i~ | Insert file into org-roam |
| ~[prefix] r I~ | Immediately insert file into org-roam |
| ~[prefix] r g~ | Visualize org-roam graph |
| ~[prefix] r b~ | Switch org-roam buffer |
| ~[prefix] r d y~ | Open yesterday's daily note |
| ~[prefix] r d t~ | Open today's daily note |
| ~[prefix] r d T~ | Open tomorrow's daily note |

View File

@ -1,6 +1,6 @@
;;; config.el --- Org configuration File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -55,3 +55,6 @@ are configured.")
(defvar org-enable-verb-support nil
"If non-nil, Verb (https://github.com/federicotdn/verb) is configured.")
(defvar org-enable-roam-support nil
"If non-nil, org-roam (https://www.orgroam.com/) is configured")

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Org Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; layers.el --- Org layers File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Org Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
@ -17,7 +17,6 @@
evil-org
evil-surround
gnuplot
(helm-org :toggle (configuration-layer/layer-used-p 'helm))
(helm-org-rifle :toggle (configuration-layer/layer-used-p 'helm))
htmlize
;; ob, org and org-agenda are installed by `org-plus-contrib'
@ -33,6 +32,7 @@
org-pomodoro
org-present
org-cliplink
org-rich-yank
(org-projectile :requires projectile)
(ox-epub :toggle org-enable-epub-support)
(ox-twbs :toggle org-enable-bootstrap-support)
@ -46,6 +46,7 @@
(org-trello :toggle org-enable-trello-support)
(org-sticky-header :toggle org-enable-sticky-header)
(verb :toggle org-enable-verb-support)
(org-roam :toggle org-enable-roam-support)
))
(defun org/post-init-company ()
@ -83,12 +84,7 @@
(defun org/init-helm-org-rifle ()
(use-package helm-org-rifle
:defer t
:init (spacemacs/set-leader-keys "aor" 'helm-org-rifle)))
(defun org/init-helm-org ()
(use-package helm-org
:commands (helm-org-in-buffer-headings)
:defer t))
:init (spacemacs/set-leader-keys "ao/" 'helm-org-rifle)))
(defun org/init-htmlize ()
(use-package htmlize
@ -113,7 +109,7 @@
:commands (orgtbl-mode)
:init
(progn
(spacemacs|require 'org)
(spacemacs|require-when-dumping 'org)
(setq org-clock-persist-file (concat spacemacs-cache-directory
"org-clock-save.el")
org-id-locations-file (concat spacemacs-cache-directory
@ -133,7 +129,7 @@
org-imenu-depth 8)
(with-eval-after-load 'org-agenda
(add-to-list 'org-modules 'org-habit))
(add-to-list 'org-modules 'org-habit))
(with-eval-after-load 'org-indent
(spacemacs|hide-lighter org-indent-mode))
@ -236,6 +232,7 @@ Will work on both org-mode and any mode that accepts plain html."
"Tc" 'org-toggle-checkbox
"Te" 'org-toggle-pretty-entities
"Ti" 'org-toggle-inline-images
"Tn" 'org-num-mode
"Tl" 'org-toggle-link-display
"Tt" 'org-show-todo-tree
"TT" 'org-todo
@ -264,7 +261,7 @@ Will work on both org-mode and any mode that accepts plain html."
"sk" 'org-move-subtree-up
"sl" 'org-demote-subtree
"sn" 'org-narrow-to-subtree
"sN" 'widen
"sw" 'widen
"sr" 'org-refile
"ss" 'org-sparse-tree
"sS" 'org-sort
@ -360,10 +357,11 @@ Will work on both org-mode and any mode that accepts plain html."
(spacemacs/declare-prefix "ao" "org")
(spacemacs/declare-prefix "aof" "feeds")
(spacemacs/declare-prefix "aoC" "clock")
;; org-agenda
(when (configuration-layer/layer-used-p 'ivy)
(spacemacs/set-leader-keys "ao/" 'org-occur-in-agenda-files))
(spacemacs/set-leader-keys
;; org-agenda
"ao#" 'org-agenda-list-stuck-projects
"ao/" 'org-occur-in-agenda-files
"aoa" 'org-agenda-list
"aoo" 'org-agenda
"aoc" 'org-capture
@ -648,7 +646,28 @@ Headline^^ Visit entry^^ Filter^^ Da
"aoJsc" 'org-jira-create-subtask
"aoJsg" 'org-jira-get-subtasks
"aoJcu" 'org-jira-update-comment
"aoJtj" 'org-jira-todo-to-jira))))
"aoJtj" 'org-jira-todo-to-jira)
(spacemacs/declare-prefix-for-mode 'org-mode "mmj" "jira")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjp" "projects")
(spacemacs/declare-prefix-for-mode 'org-mode "mmji" "issues")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjs" "subtasks")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjc" "comments")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjt" "todos")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"mjpg" 'org-jira-get-projects
"mjib" 'org-jira-browse-issue
"mjig" 'org-jira-get-issues
"mjih" 'org-jira-get-issues-headonly
"mjif" 'org-jira-get-issues-from-filter-headonly
"mjiu" 'org-jira-update-issue
"mjiw" 'org-jira-progress-issue
"mjir" 'org-jira-refresh-issue
"mjic" 'org-jira-create-issue
"mjiy" 'org-jira-copy-current-issue-key
"mjsc" 'org-jira-create-subtask
"mjsg" 'org-jira-get-subtasks
"mjcu" 'org-jira-update-comment
"mjtj" 'org-jira-todo-to-jira))))
(defun org/init-org-mime ()
(use-package org-mime
@ -711,6 +730,16 @@ Headline^^ Visit entry^^ Filter^^ Da
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"iL" 'org-cliplink)))
(defun org/init-org-rich-yank ()
(use-package org-rich-yank
:ensure t
:demand t
:init
(spacemacs/set-leader-keys-for-major-mode 'org-mode
;; yank is a misnomer for this function which actually puts/pastes
;; ir = "insert rich"
"ir" 'org-rich-yank)))
(defun org/init-org-projectile ()
(use-package org-projectile
:commands (org-projectile-location-for-project)
@ -812,6 +841,38 @@ Headline^^ Visit entry^^ Filter^^ Da
"mtub" 'spacemacs/org-trello-push-buffer
"mtuc" 'spacemacs/org-trello-push-card))))
(defun org/init-org-roam ()
(use-package org-roam
:init
(progn
(spacemacs/declare-prefix "aor" "org-roam")
(spacemacs/declare-prefix "aord" "org-roam-dailies")
(spacemacs/set-leader-keys
"aordy" 'org-roam-dailies-yesterday
"aordt" 'org-roam-dailies-today
"aordT" 'org-roam-dailies-tomorrow
"aorf" 'org-roam-find-file
"aorg" 'org-roam-graph
"aori" 'org-roam-insert
"aorI" 'org-roam-insert-immediate
"aorl" 'org-roam)
(spacemacs/declare-prefix-for-mode 'org-mode "mr" "org-roam")
(spacemacs/declare-prefix-for-mode 'org-mode "mrd" "org-roam-dailies")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"rb" 'org-roam-switch-to-buffer
"rdy" 'org-roam-dailies-yesterday
"rdt" 'org-roam-dailies-today
"rdT" 'org-roam-dailies-tomorrow
"rf" 'org-roam-find-file
"rg" 'org-roam-graph
"ri" 'org-roam-insert
"rI" 'org-roam-insert-immediate
"rl" 'org-roam))
:config
(progn
(spacemacs|hide-lighter org-roam-mode))))
(defun org/init-org-sticky-header ()
(use-package org-sticky-header
:defer t
@ -822,17 +883,17 @@ Headline^^ Visit entry^^ Filter^^ Da
(use-package verb
:defer t
:init
(spacemacs/set-leader-keys-for-major-mode
'org-mode
"rf" #'verb-send-request-on-point
"rs" #'verb-send-request-on-point-other-window
"rr" #'verb-send-request-on-point-other-window-stay
"rm" #'verb-send-request-on-point-no-window
"rk" #'verb-kill-all-response-buffers
"re" #'verb-export-request-on-point
"ru" #'verb-export-request-on-point-curl
"rb" #'verb-export-request-on-point-verb
"rv" #'verb-set-var)
(spacemacs/set-leader-keys-for-major-mode
'org-mode
"rf" #'verb-send-request-on-point
"rs" #'verb-send-request-on-point-other-window
"rr" #'verb-send-request-on-point-other-window-stay
"rm" #'verb-send-request-on-point-no-window
"rk" #'verb-kill-all-response-buffers
"re" #'verb-export-request-on-point
"ru" #'verb-export-request-on-point-curl
"rb" #'verb-export-request-on-point-verb
"rv" #'verb-set-var)
:config
(progn
(spacemacs/set-leader-keys-for-minor-mode

View File

@ -1,6 +1,6 @@
;;; layers.el --- Outshine layers File for Spacemacs
;;
;; Copyright (c) 2012-2019 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Langston Barrett <langston.barrett@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- Outshine layer packages file for Spacemacs.
;;
;; Copyright (c) 2012-2019 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Langston Barrett <langston.barrett@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; config.el --- semantic Layer configuration
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sebastian Wiesner <swiesner@lunaryorn.com
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Semantic Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; packages.el --- semantic Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

View File

@ -1,6 +1,6 @@
;;; funcs.el --- Smex Layer functions File for Spacemacs
;;
;; Copyright (c) 2012-2018 Sylvain Benner & Contributors
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs

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