Commit Graph

837 Commits

Author SHA1 Message Date
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