Commit Graph

973 Commits

Author SHA1 Message Date
Daniel Nicolai b3c78297fb Add describe evil ex-command functionality
For introspection purposes it can be nice to have this functionality. Also this
function can be used to discover which ex-commands are available.
2021-04-15 22:03:59 +02:00
Evan Klitzke a4eadc97fe rename {,c-}c++-enable-organize-includes-on-save 2021-04-12 20:47:11 +00:00
Riccardo Binetti 6bafc72697 Enhance +lang/zig layer
Add support to LSP via zls (see also
https://github.com/emacs-lsp/lsp-mode/pull/2723)
2021-04-09 22:28:08 +02:00
duianto 4dc1d7640a [defaults] Add dotspacemacs-scroll-bar-while-scrolling 2021-04-08 21:09:54 +00:00
pataquets 948d15a272 Search Engine layer: Add Debian & Ubuntu package search. 2021-04-08 22:55:03 +02:00
duianto d012d2d95f [dotfile] New var: dotspacemacs-startup-buffer-multi-digit-delay
It sets the minimum delay in seconds between number key presses.
On the Spacemacs home buffer.
2021-04-08 22:27:54 +02:00
syl20bnr e6e58c54d6 [defaults] Add SPC f e I to open Emacs early-init.el file 2021-04-08 20:12:51 +00:00
inwit e7234782ec Fixed a bug in notmuch-tree which was preventing d/D bindings to work 2021-04-05 23:17:52 +02:00
German Lashevich 97a238f429 Fix packages missed in Melpa 2021-04-04 22:14:05 +02:00
J. Zhao 2c3bca670f Revert "Fix void variable `mu4e-view-mode-map`" to fix bug #14548
This reverts commit f5d121599b.
2021-03-31 18:55:42 +02:00
Teo Klestrup Röijezon 170e4a9852 Add keybind to reload Rust-Analyzer workspace
Allows you to pick up new Cargo dependencies without a (slooow)
full server restart.

See https://github.com/emacs-lsp/lsp-mode/pull/2728

Add diagnostic messages when trying to reload RA workspace

No point restarting when trying to reload RLS
2021-03-20 20:14:40 +00:00
ClarityStorm a8d3d99894 Add Edebug Eval List key bindings 2021-03-20 20:56:09 +01:00
ClarityStorm f5d121599b Fix void variable `mu4e-view-mode-map` 2021-03-20 00:30:58 +01:00
Kazark 4e2413856d [org] add keybinding for org-copy-tree as with org-cut-tree
Used =y= as a mnemonic for yank (in the Vim, not the Emacs, sense).
2021-03-19 13:09:21 +01:00
Lucius Hu d6eb0f9fe6 rust: Improved LSP Rust server switch functionality
Currently, when `lsp` backend is used for `rust` layer, `SPC m s s` is bound to
`lsp-rust-switch-server`, which temporarily changes the preferred LSP server
for `rust-mode`, but it DOES NOT switch the running LSP server. Users need to
call `lsp-workspace-restart` to finish the switching.

This PR introduced a new function `spacemacs//lsp-rust-switch-server`, which is
a wrapper for the two aforementioned functions
2021-03-19 12:54:41 +01:00
JAremko 0f2df2727d Validate .spacemacs variables. 2021-03-18 15:47:02 +02:00
Daniel Nicolai 4bcdc36f0f Add org-wild-notifier to org-layer
This PR should be a better replacement for #14396. See the last comment of that
PR for motivation.
2021-03-15 18:57:58 +00:00
winsphinx fb41915c5b
[org] Add org-appear support (#14482)
* [org] Add org-appear support

* fixes for org-appear support
2021-03-14 09:47:11 +01:00
Ivan Yonchovski 32ead25c35 [lsp] Bind `SPC p E` to `helm-lsp-diagnostics`
IMHO this should be global binding, the alternative was `SPC e e` because it can
be used everywhere, e. g. from compilation buffer to find the error causing the
build breakage.
2021-03-14 00:42:56 +01:00
Daniel Nicolai c7044145ff Add pdf-view-restore to pdf layer
pdf-view-restore implements a solution for pdf-tools to remember and open at the
last viewed page of a document
2021-03-14 00:40:03 +01:00
Ag Ibragimov 589c16b73a
git: adds orgit-forge so org links can be stored from forge topics (#14450)
* git: adds orgit-forge so org links can be stored from forge topics

* PR feedback

Suggested-by: Lucius Hu <lebensterben@users.noreply.github.com>
2021-03-14 00:26:38 +01:00
Ben Swift b2d89fdc3f [ess] add keybinding for ess-quit 2021-03-14 00:07:57 +01:00
Kjartan Óli Ágústsson 151d4db884
Add keybindings for org-roam-alias-add (#14480)
* Add keybindings for org-roam-alias-add.

* Fix typo.

Remove unintended t from org-roam-alias-add binding
2021-03-13 23:45:55 +01:00
Corentin 4409d39bec Fixes error if parsing ipython dev version 2021-03-13 23:40:53 +01:00
duianto 69f21eaaa0 [org][org-brain] Add SPC menu (vim or hybrid style)
Fixes: org-brain doesn't have SPC menu
https://github.com/syl20bnr/spacemacs/issues/13548
2021-02-28 22:12:37 +01:00
Ivan Yonchovski c6ffe996b6
[editing] Added string-edit package to editing layer 2021-02-28 21:24:23 +01:00
Ilya Grigoriev e8976832f8 Restore SPC gfd for magit-diff, set SPC gfm for magit-file-dispatch
Fixes https://github.com/syl20bnr/spacemacs/issues/14434
2021-02-28 20:55:53 +01:00
Ivan Yonchovski 2efe665bce [java] New keybindings for lsp-java 2021-02-28 20:34:35 +01:00
duianto 319626d1ad Bind s to the dired-quick-sort hydra
The dired-quick-sort hydra was bound to: S

But the introduction of evil-collection-dired
[evil-collection] support for dired #14333
https://github.com/syl20bnr/spacemacs/pull/14333

Now binds S to: dired-do-symlink
334670e29d/modes/dired/evil-collection-dired.el (L66)

It also restored the default evil behavior of: s
to: evil-substitute

But it isn't useful in the dired buffer since it is: read-only
2021-02-23 20:26:31 +01:00
Ag Ibragimov e3434e8635 source-control: Change SPC gfd to magit-file-dispatch
SPC g f d  key should be more "contextual", allowing user to perform operations
associated with the current file
2021-02-23 14:43:17 +01:00
Ivan Yonchovski df09240229 [lsp] Do not include lsp-ui by default
- lsp-ui is very opinionated so better to have it enabled/installed on demand
2021-02-20 22:01:23 +01:00
Maximilian Wolff e5620ddfbf Reverted `ESS: Fixes syl20bnr#13282`
Having sourced a file for every R repl session
is not working reliably due to the different
value of DISPLAY on every environment.

Users are expected to use R specific ways
to set their env variables for now.
2021-02-20 07:40:13 +00:00
tris 699be3fe28 [editing] add binding for multi-line 2021-02-20 08:02:32 +01:00
Daniel Nicolai 44add11c7a Add auto hide tabs feature to tabs layer
Ideally it would be great to implement tabs switch with C-tab (or C-}) that
shows the tabs as long as C is pressed. However Emacs does not support key
release events so this function uses a timer as a workaround.

To me Emacs looks better when tabs are hidden, and also packages like
pdf-continuous-scroll-mode break when tabs are shown.
2021-02-13 23:55:17 +01:00
Lin Sun ca0fe33c8d [lua] more lsp backends for lua 2021-02-13 20:50:39 +00:00
Daniel Nicolai dfd5532429
Add search-from ivy action to fasd layer
If I had known about browsing history with `C-r` before [I modified the fasd
package to implement full ivy
support](c4c04873fd),
then I guess I would not have modified it. Anyway, now that "full Ivy support"
has been merged into the fasd package, I could add this 'search-from' action
command to `fasd-find-file` which triggers Spacemacs 'search-auto'. Because fasd
only finds dirs that have been visited before, it probably does not add much to
the `C-r` functionality, but maybe it does (you decide?). Anyway, I hope you can
help decide if this is useful for merging.
2021-02-07 22:31:05 +01:00
Daniel Nicolai 5b9612f57e
Add Emacs Application Framework (EAF) layer 2021-02-07 21:34:50 +01:00
Daniel Nicolai 3a02c12ca7 Add org-contacts to org layer
Org-contacts is a handy contacts management system. It can be used to manage
(email) addresses (compatible with gnus, mu4e, notmuch etc.), birthdays and
more. It is much simpler than bbdb/ebdb and probably powerful enough for most
users.
2021-02-07 06:50:59 +00:00
Daniel Nicolai 7276970c91
Implement C-(S)-tab buffer switch in Ivy layer 2021-02-04 23:33:39 +01:00
sunlin bc98f0cbb5
[markdown] more document for using markdown-command (#14312)
* [markdown] more document for using marking-command

* Update CHANGELOG.develop

Co-authored-by: Daniel Nicolai <dalanicolai@gmail.com>

* Update layers/+lang/markdown/README.org

Co-authored-by: Maximilian Wolff <smile13241324@gmail.com>

* Update layers/+lang/markdown/packages.el

Co-authored-by: Maximilian Wolff <smile13241324@gmail.com>

Co-authored-by: Daniel Nicolai <dalanicolai@gmail.com>
Co-authored-by: Maximilian Wolff <smile13241324@gmail.com>
2021-02-04 22:45:14 +01:00
Ben Swift ca75239108 [org] add keybinding for org-roam-dailies-find-date 2021-02-03 22:39:04 +01:00
Daniel Nicolai dc7b04dc66 Implement C(-S)-tab buffer switch in Helm layer
Equivalent to PR #14287 for ivy-layer
2021-02-03 22:36:50 +01:00
Lucius Hu 3652346b3a ESS: Fixes #13282
Signed-off-by: Lucius Hu <lebensterben@users.noreply.github.com>
2021-02-03 22:30:16 +01:00
duianto 92796dc121 [dotfile] new var: dotspacemacs-show-trailing-whitespace
Moved the function definitions for:
spacemacs//trailing-whitespace
spacemacs//set-whitespace-style-for-diff

from: spacemacs-default/packages.el
to:   spacemacs-default/funcs.el
2021-01-24 21:54:40 +01:00
Ag Ibragimov 11025e1276 emacs-lisp: resets to evil-normal after edebug session 2021-01-24 15:27:04 +01:00
Keith Pinson a973da57ee [scala] remove long-deprecated Ensime integration
According to its website, the Ensime project has been shut down since 2019. We
have been supporting both Ensime and Metals for [a year and a
half](https://github.com/syl20bnr/spacemacs/pull/12234#issuecomment-524916394).
Ensime's GitHub repositories, including its Emacs integration, are archived.
Meanwhile, Metals has been developed actively, regularly releasing new versions.
It has stabilized significantly, and supports an increasingly full set of
features. Scala 3 is just around the corner, and the community is poised to make
the transition smoothly and relatively quickly. Metals supports it already,
whereas of course Ensime does not and never will. In fact, Scala 2 has had
several import minor versions released since Ensime died. Now that it's 2021,
it's time to cut the baggage we are carrying around for Ensime.
2021-01-19 21:45:40 +01:00
Keith Pinson 667914e5fa [scala] provide an easy way to a small SBT buffer at frame bottom
This feels like the natural place to put it, though we could also extend this
with other values in the future. I defaulted this behavior to off in order to
not impact folks' current setup.
2021-01-11 22:54:58 +01:00
Keith Pinson 26a4dc9830 [markdown] fontify code blocks natively: on by default 2021-01-10 20:40:38 +01:00
Daniel Nicolai c23a190a72 Add toggles for specific persistent which-key keymaps
Sometimes it is handy to show keymaps persistently with which-key. For example,
to show navigation commands in Info-mode, gnus, eww etc. This PR implements
handy toggles and documentation for that.
2021-01-10 20:32:04 +01:00
Daniel Nicolai bd1631bdce Add org-journal-open-current-journal-file keybinding
In my opinion this is an elementary org-journal command that should have a
keybinding.
2021-01-09 09:02:44 +01:00
Keith Pinson fd7c0a3773 [emacs-lisp] make `SPC m h h` and jump handlers work in `ielm`
Like in other Emacs Lisp modes.
2021-01-09 08:53:35 +01:00
Keith Pinson 41c4d5c104 [core] support recents-by-projects in dotspacemacs-startup-lists
`dotspacemacs-startup-lists` by default shows a number of recent files and
projects as two separate lists. If I've been working with a lot of files in one
project, then all the recent files are from one project, even if I set `recents`
to a large amount like 24. This change allows me to see the recent files by
project. Suppose, for example, I have a `vegetables` project and a `fruit`
project, and set `dotspacemacs-startup-lists` to `(recents-by-file . (2 . 3))`.
In the home buffer I will see something like:

    ~/vegetables
        lettuce.el
        squash.el
        tomatoes.el
    ~/fruit
        apple.py
        orange.py
        banana.py

Even though only a subpath is displayed for each file, the click functionality
still works---i.e. the link still has the full path under the covers.

I originally asked a [question](https://emacs.stackexchange.com/q/62524/19069)
on Emacs StackExchange to see if there were any pointers or if this was already
a solved problem. After several days of receiving no answers, and having a
little time to poke at it, I figured I'd implement it myself.

What this does not cover: mixing recent files totally outside projects into this
list. Today they are just filtered out. That is a usecase I didn't need so I
figured that could be done in a subsequent pass if somebody wanted it.
2021-01-09 08:50:08 +01:00
Sid Raval 9b6a49d6c0
Support prettier formatter for Ruby layer (#14252)
* First working pass

- Runs prettier on save when in ruby-mode.
- Adds `node_modules/.bin/` to local `exec-path`
  - This means project-local `prettier` executables are preferred

* Making ruby layer prettier formatting configurable

- Adds a variable to control whether prettier is used to format-on-save.
- Documents use, configuration, and keybindings in the README

* Add to CHANGELOG.develop

* Delete spurious comment

* Use prettier as a dependency only when config variable is present
2021-01-09 08:34:04 +01:00
Daniel Nicolai 11345a8392 Add consistent org-agenda transient-state keybinding
I do not see any reason why the keybinding to enter org-agenda should not be on
`. ,`. Therefore I propose here to make that keybinding consistent with the
keybindings for entering transient states in most/all other modes
2021-01-03 09:00:09 +01:00
duianto 8839858d54 [git] Restore magit transient args between sessions
problem:
The Magit w (apply patches) arguments are not remembered between sessions.

cause:
Magit reads the transient files:
history.el, levels.el, and values.el
before Spacemacs has redirected them to the .cache directory.

solution:
Redirect the files before magit reads them.
2020-12-30 20:49:25 +01:00
duianto f62934620d [base] Fix evil undo
problem:
Pressing: u
in the spacemacs-base distribution, shows:
evil-undo: Symbol’s function definition is void: undo-tree-undo

cause:
The evil undo system is setup as: undo-tree
but undo-tree is loaded in the spacemacs-editing layer,
and the layer isn't used by default in the spacemacs-base distribution.

solution:
Set the evil undo system to undo-tree when the undo-tree package is used.

Now if undo-tree isn't setup, then:
- u   uses the default Emacs undo command.
- C-r says: Customize ‘evil-undo-system’ for redo functionality.
2020-12-30 20:46:20 +01:00
Daniel Nicolai db819a6bbd
Add link-hint-open-link to woman-mode keybinding to navigation layer 2020-12-29 21:05:39 +01:00
Claude 1254095217
Make valign-mode opt-out in org-mode-hook (#14211)
* Make valign-mode opt-out in org-mode-hook

* Clean org-enable-valign documentation
2020-12-19 00:01:31 +01:00
Daniel Nicolai 0174002ebf Add evil consistent navigate history keybindings to pdf-layer 2020-12-18 23:56:32 +01:00
Daniel Nicolai ad4ee80e56 Add convenient scroll keybindings to epub layer
Similar to the keybindings added to the info layer in PR #14188, I here propose to add the same
keybindings to the epub layer. These J/K keybindings are currently undefined in the epub
layer. These keybindings are used in the Zathura document reader, they are very
convenient and I guess they feel very natural and are preferred over d/u by most people.
2020-12-18 23:40:58 +01:00
Ray 0f21303cad
Use valign to align tables in spacemacs-org layer (#14196)
* Use valign package in org-mode to align tables

* update CHANGELOG.develop
2020-12-13 22:08:36 +01:00
Daniel Nicolai c595640a34 In navigation layer, Bind J/K to scroll up/down in Info-mode
Spacemacs lacks a keybinding alternative to the most natural way of scrolling
Info pages (i.e. SPC) in vanilla emacs.
Anyway, this commit adds J/K to scroll most naturally through info pages.
Currently, in Info-mode, a keybinding for J is not defined while K is bound to
evil-lookup.

Issue #2828 already adresses the inconsistent experience, and in my opinion this
can and should be improved as navigating Info pages is a very crucial part of
using Emacs.

Personally I have bound J/K to scroll page up/down in buffers/pdf/djvu/doc-view,
which I inherited from using the zathura pdf reader, and I think this is a better
default than the default vim alternatives.
2020-12-13 21:58:24 +01:00
Keith Pinson e7c9eda3fb [markdown] fix: mmm clobbering comment-start in Markdown Git commit
Fixes #14195.
2020-12-13 10:26:56 +00:00
Lucius Hu 2d1d338f46
LaTeX: improved i18n support and documentation (#14204)
* LaTeX: improved i18n support and documentation

- Added a new layer config variable `latex-build-engine`, a thin wrapper of
  `TeX-engine`:
  - For better support of non-european character set rendering, `xetex` is
    chosen when it's found on PATH, and when eithe `chinese` or `japanese`
    layer is enabled
- Added a new layer config variable `latex-enable-preview`:
  - When non-nil, `auto-revert-mode` is added to `doc-view-mode-hook`
  - Previously this is described in documentation but requires users to set it
    manually
- Documentation:
  - Added a section that lists are layer config variables
  - Improved all documentation examples, s.t. they are valid elisp forms to be
    evaluated directly
  - Improved the section on backend:
    - Emphsized that LSP layer is always preferred
    - Provided information on installing the language server
  - Added the default value for layer config variable, `latex-nofil-env`

* minor edits

- Updated CHANGELOG.develop
- Renamed `latex-enable-preview` to `latex-refresh-preview`
- Replaced a fuzzy intra-link in documentation with a proper link

Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
2020-12-13 10:33:04 +01:00
John Practicalli Stevenson f9123b1cc5 [clojure] add namespace eval and reload key bindings
Add key binding to evaluate the current namespace form (very useful when
starting CIDER as it loads in clojure.core to enable the cider-clojure-docs
functions to work)

Add keybinding to reload all namespaces into the REPL process

Adjusted key bindings to be lower case under `en` sub-menu.
2020-11-24 21:46:23 +01:00
duianto d9b4b2dc61 [react] Set layer keymaps: javascript as parent to react
Declared key binding prefixes.
And updated the react layer documentation:
- Mentioned the additional key bindings in the javascript layer
- Added a link to the javascript layer
2020-11-24 21:45:16 +01:00
John Practicalli Stevenson d929079f28 [clojure] add cider-inspect key bindings
Add cider inspect key bindings missing from Spacemacs
2020-11-21 07:26:20 +01:00
Keith Pinson af078784b8
[core] add z$ as Evil keybinding for set-selective-display (#14146)
* [core] add z$ as Evil keybinding for set-selective-display

This is a feature whose equivalent I had looked for previously and not found. I
bumped into it in [this excellent
article](https://karthinks.com/software/batteries-included-with-emacs/) which is
a survey of "batteries included" parts of Emacs. He mentions Spacemacs (in a
positive light) in the article, but the article is a lot about what you can do
_without_ distributions like Spacemacs, Doom, or Prelude. As such, this seems
like an opportunity to make Spacemacs even better---i.e. by making these
relatively unknown batteries that are already present in Emacs more discoverable
in Spacemacs.

I put it in the folding menu `z` because that fits its usecase. I used `$`
because:
* the out-of-the-box Emacs keybindings is `C-x $`.
* the menu is already fairly saturated
* I didn't know what else to base the mnemonic on because
  * I'm not aware of a Vim equivalent
  * The name of the Emacs function itself is nondescriptive of its behavior

I couldn't find any keybinding documentation table to add it to. Please let me
know if I missed something.

* [core] DWIM in z$ as suggested by @lebensterben
2020-11-21 07:25:22 +01:00
Ray 31cff79099
Add persistent-scratch and unkillable-scratch into core/spacemacs-editing layer (#14115) 2020-11-14 10:02:51 +01:00
Daniel Nicolai 6c15706edf Add grip-mode to github layer 2020-11-14 09:47:36 +01:00
madand 278db6a11f [pdf] ~?~ toggles transient sate documentation hint (shown by default)
Backwards compatible by showing the docs by default. Allows to reclaim the
precious display space for viewing the actual PDF.
2020-11-12 22:37:36 +01:00
madand 4c2fcc13cb [org] Activate insert state after some org-insert-* commands
Having to manually press i after using any of these commands is annoying to say
the least. This commit affects the following commands:
- org-insert-drawer
- org-insert-heading
- org-insert-item
- org-insert-structure-template

Change to org-insert-heading also affects other commands that use it
internally (e.g. org-insert-subheading).
2020-11-02 19:49:51 +01:00
Keith Pinson 82974b454e [core] fix visual modes for narrow to indirect buffer
* Apply @duianto's fix to only activate visual selection it if it was active
  previous to the creation of the indirect buffer
* Block use of visual block mode because of continuing problems in that mode,
  and its questionable usefulness in this case
* Extract commonalities out of the narrowing functions
* Make the new keybindings into a list in the changelog for readability, per
  @duianto
2020-10-31 08:57:46 +01:00
Keith Pinson 155490afaf [core] document new narrow to indirect buffer keybindings 2020-10-31 08:57:46 +01:00
Keith Pinson 603d7fbe0b [core] provide keybindings for using narrow with an indirect buffer
This is useful if you want multiple narrowing in the same base buffer.

Fixes #12550 with proposed bindings by @duianto.
2020-10-31 08:57:46 +01:00
duianto fa83c0ed5a [ranger] Add 'ranger as an option to ranger-enter-with-minus
Added 'ranger as an option to the variable: ranger-enter-with-minus
Changed the default value from: t to: 'deer.
Bound the key to evil-motion-state-map instead of evil-normal-state-map
so that - also works from the Spacemacs home buffer.
2020-10-30 20:55:04 +01:00
Ray Wang 905d4392c5
Add `spacemacs-scratch-mode-hook`
Also run-hooks in spacemacs/switch-to-scratch-buffer

update CHANGELOG.develop and retrigger workflow
2020-10-23 18:34:25 +02:00
Keith Pinson e2718dd046
[git] Implement performance hack for MacOS from Magit Manual (#14070)
* [git] make finding of Git on MacOS more reliable per @tko
* [git] remove Darwin condition on finding git executable
2020-10-23 18:21:22 +02:00
Daniel Nicolai acc136168f
Update additional-packages docstring with info about loading package
Many new users (quite logically) assume that the additional-packages list
behaves like installing a layer, so they assume the file is also loaded
automatically. This commit adds info about the requirement to also load the
package with load/require/use-package in the user-config section of the dotfile.
2020-10-22 23:32:38 +02:00
Keith Pinson 7cc1f06986 [org] SPC m s N -> SPC m s w to match mnemonics of SPC n w
I chose to go this way rather than the other way because:

* Whenever you can avoid holding down a modifier key, great!
* It seems like the more specific should yield to the more general

This may be a controversial change, because it could break some folks' finger
memory. However I consider this a very unpleasant inconsistency that inhibits
the development of finger memory, so I thought I would at least suggest it as
the default for Spacemacs.
2020-10-22 23:14:41 +02:00
Boris Sergeyev 3e033e39f6 [helm] helm-swoop, ignore `helm-full-frame' and `pop-up-windows'
because current implementation does not support full-frame usage:
see https://github.com/syl20bnr/spacemacs/issues/2157
2020-10-22 19:49:49 +02:00
nanashi0x74 76849892e1 Fix three typos in various files
This commit fixes typos in doc/layers.org and the readme.org files of bootstrap and
java layers.
2020-10-19 11:48:51 +02:00
nanashi0x74 c8b717c9be [lsp] Add keybinding for lsp-version command 2020-10-19 11:45:53 +02:00
duianto 331bf1b5bf [ivy] Rebind C-k to C-M-k in ivy-reverse-i-search
This enables navigating up in the `ivy-reverse-i-search` list with `C-k`.

The same rebinding from `C-k` to `C-M-k` to kill a list entry,
is also done in the `ivy-switch-buffer`.
2020-10-15 23:10:06 +02:00
Daniel Nicolai 2cdb535d04 Fix counsel find-file functions to use Spacemacs large file check
By default Ivy uses `find-file` which uses Emacs `abort-if-file-too-large`
function to check/warn before opening large files. That function however does
not take into account Spacemacs its `spacemacs-large-file-modes-list`. Instead
ivy should use `find-file-noselect` to skip Emacs it large file warning and let
it to Spacemacs its `spacemacs/check-large-file` function. Additionally [Emacs
tips on
comments](https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html)
recommends to use 3 semicolons for comments that function as headings.
2020-10-15 23:08:05 +02:00
Lucius Hu edc2528590
Improved documentation for LSP layer
- Added documentation for the following minor modes:
  - lsp-headerline-breadcrumb-mode
  - lsp-lens-mode
  - lsp-modeline-diagnostics-mode
  - lsp-modeline-code-actions-mode
- Added description of Code Lens feature.
- Added description of default values of any variablese introduced in the
  commit.
- Added a section to brief mention the DAP integration of lsp-mode, which
  leads users the DAP layer for more details.
- Re-formatted the document, inline codes are quoted by '~' instead of '='.
2020-10-15 22:20:27 +02:00
khjcph dad4406f70 Only set undo system if fun. exists.
The PR fixes an issue where spacemacs is in a bad state after upgrading. I
suppose what happens is that `evil-set-undo-system` is invoked before `evil` is necessarily the correct version.
2020-10-14 18:44:40 +02:00
Mariusz Klochowicz 1227cbd75d [org] Add major mode key bindings for org-jira
org-jira is typically used from org major mode - new keybindings add a more
convenient way of invoking its functions.

The new org-jira submenu is available under "mj" - using the same pattern as
org-trello.
2020-10-13 16:39:23 +02:00
Mariusz Klochowicz 2e27161c19 [org] Add org-roam support
Add org-roam support along with keybindings under new menu prefix "SPC a o r".

Assign layer search keybinding ("SPC a o /") to helm-org-rifle, falling back to
previously assigned function (org-occur-in-agenda-files) when using ivy.

Creating another keybinding for org-occur-in-agenda-files is not necessary,
as it can be accessed with another existing keybinding ("SPC a o o /").
2020-10-13 15:05:36 +02:00
duianto 0f65b000da
Handle buffer move/select/swap to last win nr +1 (#14015)
problem:
The following error messages are shown.

When trying to move, select or swap the current buffer,
to a window nr greater than the total number of open windows.

For example:
With only one window open.
`SPC b 2`
>ad-Advice-select-window: Wrong type argument: window-live-p, nil

In the Buffer Transient State (`SPC b .`):
- `C-2` (`spacemacs/buffer-transient-state/winum-select-window-2`)
>Wrong type argument: window-valid-p, #<window 12>

- `2` (`spacemacs/buffer-transient-state/move-buffer-window-no-follow-2`)
>Wrong type argument: window-live-p, #<window 14>

- `M-2` (`spacemacs/buffer-transient-state/swap-buffer-window-no-follow-2`)
>Wrong type argument: stringp, nil

Solution:
Show a descriptive message, if the target window nr is greater than the number
of open windows. And ignore the LV buffer (hydra).
2020-10-10 22:48:38 +02:00
duianto e096d6dd1e Set evil-undo-system to undo-tree 2020-10-10 21:55:06 +02:00
Wieland Hoffmann b606d82dfb [ivy] Bind `SPC s l` to ivy-resume
Helm already has spacemacs/resume-last-search-buffer bound to it and is in my
muscle memory. spacemacs/resume-last-search-buffer doesn't work with ivy, so
just use ivy-resume.
2020-10-10 06:11:12 +02:00
mark30247 c6c949156a fixes the wrong display of Release Notes
Quickhelp and Release Notes are currently not correctly displayed in the home buffer. This fixes it.
2020-10-10 04:08:34 +02:00
Kevin bf78bd4ec5 Add dtrt-indent layer 2020-10-06 12:30:47 +02:00
Daniel Nicolai 34bd5ab40d
Add C-RET keybinding for ivy-alt-done 2020-10-04 11:48:36 +02:00
Daniel Nicolai 4acea82f7b Replace spacemacs/swiper with better native swiper functions
Spacemacs uses spacemacs/swiper functions that use the less sophisticated
spacemacs//counsel-current-region-or-symbol instead of ivy's native
ivy-thing-at-point function. This commit removes those spacemacs functions and
rebinds the shortcuts to their better native equivalents.
2020-10-04 11:16:10 +02:00
mark30247 cb26ca6b33 Improve readability
Replaces the description of various keys (Space, Ctrl, etc) in a single line with a list describing each key as a list item. Improves readability.
2020-10-02 13:33:45 +02:00
Stefan Ruschke 00b1f419a5 [python] Add sphinx-doc support 2020-10-01 13:23:47 +02:00
John Practicalli Stevenson f2c075b673 [clojure] key binding for cider eval list around point
New command added to CIDER in version 0.26 to evaluate the list around the
current point, different to evaluate sexp around point which also evaluates
symbols.

https://github.com/clojure-emacs/cider/pull/2881
2020-10-01 12:29:35 +02:00
duianto ce7c2f05d9 Fix typo, and uppercase a key 2020-09-28 16:08:10 +02:00
Daniel Nicolai 5812d52e6d Add instruction how to use ranger by default 2020-09-27 14:34:52 +02:00
duianto 98ec7e559e
Lazy install protobuf layer for .proto files (#13983) 2020-09-27 14:26:31 +02:00
Deepu Mohan Puthrote 8b888c6a08 introduces tabs layer with Centaur backend 2020-09-25 09:25:53 +02:00
duianto d72019e33d
[multiple-cursors] Disable evil-mc-mode in magit-mode (#13971)
Resolves #13948

problem:
The p key tries to paste in the read-only magit buffer,
instead of calling magit-push.

After toggling text-mode on and off (C-t or \),
because evil-mc-mode becomes enabled when text-mode is enabled.
2020-09-23 22:37:55 +02:00
Ray 359b6f5466
Don't let magit-gitflow mode overwrite `C-f` key binding. (#13973)
* Don't let magit-gitflow mode overwrite `C-f` key binding.

* Describe changes in CHANGELOG.develop
2020-09-23 22:31:44 +02:00
syl20bnr 6b23185992 [core] Swap SPC h d t and SPC h d T
As describing text feels more useful than describing themes.
2020-09-20 22:32:41 -04:00
sunlin 8d204c78b4
Add `spacemacs/python-shell-send-statement' for sending statement (#13945) 2020-09-18 21:15:53 +02:00
ClarityStorm c23b17833c
Fix git-gutter+ refresh on Magit refresh 2020-09-18 20:15:23 +02:00
Keith Pinson d4668c519f
[org] support rich insert of code from other buffers (org-rich-yank) (#13960) 2020-09-18 20:00:00 +02:00
Keith Pinson 255f50696c
[core] add keybinding hdT for describe-text-properties (#13962)
This is to bundle it with other describe functions.
2020-09-18 19:45:32 +02:00
Robbert van der Helm 14dcebd4a3 Add a layer for LanguageTool support
LanguageTool is an automated proofreader and grammar checker. This layer adds
the ability to check the current buffer's contents using LanguageTool.
2020-09-17 14:05:20 +02:00
Keith Pinson 68debde4a2
[core] evilify Custom-mode if dotspacemacs-editing-style is 'vim
This has been requested many times but never implemented.

Fixes #6699
Fixes #5668
Fixes #7583
Fixes #13309
2020-09-16 21:16:23 +02:00
Daniel Nicolai 1147e758bd Implement pyvenv-tracking-mode
The pyvenv-tracking-mode changes the virtual environment on changing focus
between buffers.
2020-09-14 18:53:19 +02:00
Nicholas Kirchner 516da8dfbd [helm] Add the helm-org package so that helm-spacemacs-faq works
There is a (require 'helm-org) directive in helm-spacemacs-faq.el
which is triggered by the key sequence 'SPC h f'.
2020-09-08 11:03:55 +02:00
duianto 5e9536e842
[lua] Remove require lsp-clients 2020-08-26 22:46:21 +02:00
duianto 83d834207c [lua] Ignore EmmyLua-LS-all.jar in .emacs.d 2020-08-26 22:39:21 +02:00
Martin Sosic 7f1c72aa43 [layers/+lang/haskell] Removed intero, ghc-mod and company-ghci backends, set dante as default backend. 2020-08-26 22:34:59 +02:00
Martin Sosic 7732fcabd8 Add syntax-checking-auto-hide-tooltips variable to syntax-checking layer. 2020-08-26 22:24:37 +02:00
duianto 81d1c9f787 Fix org table evil paste
Paste using *table--cell-yank, in org-src-mode.
2020-08-19 23:46:21 +02:00
Colin Woodbury 61a9aeb42c [lsp] Remove mention of `lsp-clients` - fixes #13857 2020-08-19 20:04:39 +02:00
Alex 033647422d Add doom-monokai-spectrum and doom-zenburn themes 2020-08-17 20:12:46 +02:00
sunlin cfd810c47d Update CHANGELOG.develop
fix typo
2020-08-17 19:51:33 +02:00
Codruț Constantin Gușoi 3216aedb27 Better UX for opening and copying links 2020-08-13 22:17:36 +02:00
duianto c6dc8fad47 [rust] Fix .ron support
Missing parentheses around:
"\\.ron\\'" . ron-mode

in the line:
:mode "\\.ron\\'" . ron-mode

Updated the rust readme to mention the .ron support.

And added a changelog.develop entry.
2020-08-09 11:30:00 +02:00
wang-d 4daa844574
Add more slack keybindings (#13806)
* alphabetize slack keybindings

Alphabetization makes it easier...
- to read the list
- to add new keybindings (because there's an obvious place)
- to merge this file (because insertions won't all happen at the end)

* Add more slack keybindings

T 'slack-all-threads
u 'slack-all-unreads

* Update documentation and changelog for slack keybindings

Also alphabetized the keybindings in the slack README

Co-authored-by: Damon Wang <damon.wang@gmail.com>
2020-08-09 10:51:12 +02:00
Keith Pinson 286c71bd40 feat: mnemonic, ergonomic keybindings for next-error, previous-error
When Spacemacs' fancy logic works well, it is breathtaking. Sometimes, however,
you may need a way to reach in for something a little more raw: in this case,
going straight to `next-error` rather than `spacemacs/next-error`.

I chose `cn`/`cN` because:

* They seem to be unused thus far
* It makes sense to put these keybinding under compile, since they are
  associated with Emac's base functionality for compilation.
* The analogous Ex commands are `:cn` and `:cN`. They work this way even in
  Spacemacs (but I am trying to wean myself off Ex mode, since I see the
  Spacemacs keybindings as far superior most scenarios).
* `cp` was already taken, so `cN` had to be used for going back.

Fixes #13815.
2020-08-07 22:21:47 +02:00
Langston Barrett af6b1479f3 new layer: outshine (with outorg support)
outshine layer: Add "Features:" section to the README

outorg: use `a O` instead of `a o o` as a prefix

outshine: add transient state

outshine layer: (re)document keybindings, add imenu keybinding

outshine layer: fix outorg mode keybinding documentation

address review comments
2020-08-05 14:28:37 +02:00
Tommi Komulainen f57ebbb994 [typescript] configure tslint also for lsp backend 2020-07-28 15:34:27 +02:00
Jaakko Luttinen 3834bb1151 [python] Support --last-failed for pytest. Fixes #12023 2020-07-28 14:19:44 +02:00
Martin Sosic 684976c993 [javascript] Add README details about linter configuration 2020-07-24 11:12:10 +02:00
Robert Roland d98cccaa2f [rust] Small typo fix
This fixes a small typo, switching ` for =
2020-07-24 10:54:02 +02:00
Kirill Chernyshov 9e6cfbb83e Add almost-mono-themes into core-themes-support list of aliases 2020-07-20 22:33:29 +02:00
hackartist 0e3065af92
[core] M-x prefix was fixed
* Issue
* It could not correctly bind a prefix.
* where `dotspacemacs-emacs-command-key` is modified,
* it continuously binds a `M-x` prefix to `SPC`
* `SPC` always looks as `M-x`

* Solution
* `SPC`, hard coded `string`, was modified to `dotspacemacs-emacs-command-key`

* Expectation
* When a `SPC` prefix is bound, it should be displayed as the registered name.
2020-07-18 09:53:01 +02:00
duianto 5150ac6c50 [helm] Hide helm-ff-cache-mode mode-line indicator 2020-07-18 09:40:14 +02:00
Cormac Cannon bf1ef03bda [org] Updated 'Archive subtree' command to support customisation.
Binding ~SPC m s A~ to org-archive-subtree-default rather than existing
org-archive-subtree binding.
2020-07-18 09:38:54 +02:00
Codruț Constantin Gușoi 18bd126de4 Change browse-at-remote to "SPC go" sicne it is not github specific 2020-07-18 09:37:11 +02:00
Keith Pinson 4e57eaceea
Remove gradle-mode to stop it breaking bindings of other major modes
After using Java mode, Gradle keybindings infect or even clobber keybindings of
any subsequently used major-mode. For example, the critical Agda major mode
keybinding of `l` as `agda2-load` gets with a Gradle menu!

The cause, found by @duianto, is that `emacs-gradle-mode` sets itself to a
[global](e4d665d578/gradle-mode.el (L176-L183))
minor mode. The docs for `define-minor-mode` say about `:global:`

> If non-nil specifies that the minor mode is not meant to be
> buffer-local, so don't make the variable MODE buffer-local.
> By default, the mode is buffer-local.

I don't know why `gradle-mode` is doing this; presumably there is some reason or
need for it. But the author of that package hasn't been on GitHub since 2017,
and the last update of the package itself is from early 2015.

To seal the deal, `gradle-mode` hasn't been working anyway (at least, I've never
got it to work). I've been running Gradle by launching a terminal within Emacs.

Fixes #13750.
2020-07-18 09:30:35 +02:00
Codruț Constantin Gușoi b3bbbd229d Update changelog with most important changes 2020-07-17 21:02:28 +01:00
Benjamin Yang 39de9ff0af [spell-checking] Add keybinding for flyspell-region
For those times when just a comment needs to be spellchecked, `flyspell-region`
should have its own keybinding.
2020-07-16 10:46:36 +02:00
duianto 1e677bb532 Revert "[spacemacs-bootstrap] Fix mode-line evil state foreground"
This reverts commit 4562da2b56.

Revert reason:
emacsclient broken on develop branch by commit 4562da2b5
https://github.com/syl20bnr/spacemacs/issues/13766
2020-07-13 22:20:37 +02:00
John Practicalli Stevenson 5f7e56fecc [clojure] refactor namespace key bindings
Add key bindings to refactor namespace forms for existing functions in CIDER.

"ran" 'clojure-insert-ns-form
"raN" 'clojure-insert-ns-form-at-point
"run" 'clojure-update-ns
2020-07-12 21:01:57 +02:00
duianto 4562da2b56 [spacemacs-bootstrap] Fix mode-line evil state foreground
The evil state foreground color on the mode-line was set to
the mode-line background color.

This caused problems with some themes.
[FEATURE REQUEST] Darker option for mode-line color codes #13731

Solution:
Set the evil state foreground color to the darker of the
mode-line face foreground or background colors.
2020-07-12 20:53:51 +02:00
kenkangxgwe 21b3ae20b3
Update key bindings for vterm
* Sending <kbd>Esc</kbd> to vterm using `vterm--self-insert` results in `1;5u`,
using `vterm-send-escape` instead.
* <kbd>Ret</kbd> is not sent by `vterm--self-insert`, using `vterm-send-return`
instead.
2020-07-12 20:41:07 +02:00
tuh8888 ce5f278a2a [git] Allow multichar major mode leader key for exiting magit commit edits 2020-07-07 16:06:38 +02:00
John Practicalli Stevenson 92c010a207 [applications] refactor key bindings to layer categories
refactor key bindings for applications to provide additional room for
applications and use lower case characters.

Move calc-dispatch to `SPC a *`

Relates to #13503
2020-07-02 23:43:19 +02:00
Shunya Ishii 403aef6fd4 [SQL] Add lsp support 2020-07-01 20:49:01 +02:00
Joel Pettersson 244b3f58a2 [go] Fix search for current test function to run
spacemacs/go-run-test-current-function() previously failed when point was
anywhere but at the end of the line on the first line of the test function to
run.
2020-07-01 20:45:04 +02:00
Benjamin Yang 91556a33d4 [vagrant] Correctly bind `vagrant-tramp-term`
According to the README, `SPC a t v t` should start `vagrant-tramp-term`, but
instead, it seems to have been bound to `SPC a t v`.  This means that it
overrode all of the other vagrant keybindings under the prefix `SPC a t v`.

The issue seems to have been a typo from commit e38c33f.

Relates to #13503.
2020-07-01 20:38:48 +02:00
Ag Ibragimov 41276119ea [core] Fix: removes nils from layers list
Spacemacs allows to define layers declaratively like so:

dotspacemacs-configuration-layers
`(,(when (eq system-type 'darwin) 'osx))

The problem - in Linux that would add a nil element into the list, which then
makes it unable to run dotspacemacs/sync-configuration-layers <SPC f e R>, the
tests won't pass.
2020-06-29 07:36:31 +02:00
John Practicalli Stevenson e38c33feb0 [applications] refactor key bindings to tools
refactor key bindings for packages under +layers/tools

Relates to #13503
2020-06-24 22:43:30 +02:00