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.
* [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>
Moved the function definitions for:
spacemacs//trailing-whitespace
spacemacs//set-whitespace-style-for-diff
from: spacemacs-default/packages.el
to: spacemacs-default/funcs.el
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.
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.
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.
`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.
* 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
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
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.
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.
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.
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.
* 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>
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.
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
* [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
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).
* 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
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.
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.
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.
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`.
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.
- 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 '='.