- Consolidate pre-requisites
- Revise document structure
- Clarify setup instructions
- Link key bindings to their supporting tools
- Remove ancient notes on go-oracle
- Fix typos
- Style fixes
- Apply suggestions from code review by @duianto
Thanks to @duianto for the comprehensive review!
Co-Authored-By: duianto <otnaiud@gmail.com>
Updated the Workspaces Transient State "SPC l w".
Added a new key: "[s/S] single win workspace" to the Actions column.
It creates a new workspace with a single window, that shows the
Spacemacs home buffer.
Moved the existing key: "[c/C] create workspace" to the Actions column.
The `\` backslash before `.yml` in the regex has an orange (warning)
color and describe-char says:
There are text properties here:
face (font-lock-warning-face font-lock-string-face)
fontified nil
help-echo "This \\ has no effect"
Thanks smile13241324 for pointing out that double backslash escapes
a . (period).
lsp-mode had renamed lsp-shutdown-workspace and lsp-restart-workspace.
Added bindings for the following newer interactive lsp-mode functions:
- lsp-organize-imports
- lsp-document-highlight
- lsp-lens-show
- lsp-lens-hide
- lsp-treemacs-symbols
Declared new major mode prefixes (a: code actions, x: text/code).
Moved execute-code-action binding under new `a` prefix.
Also disabled helm-lsp keybindings when ivy layer in use.
gometalinter¹ was deprecated on 2019-02-28, in favor of the more advanced
golangci-lint.
. Drop references to gometalinter from README.org
. Update reference to available meta-linter (golangci-lint) in LAYERS.org
. Add attribution in CHANGELOG.develop
¹: https://github.com/alecthomas/gometalinter
Previously, if a user set `python-backend` to `'lsp`, it would not do anything
unless the user also manually added the `lsp` layer to the spacemacs `init.el`
file. This commit updates the `python` layer to correctly add the dependency
when needed, like the `c-c++` layer does.
Add emphasis to mentions of `mu` and `mu4e`.
Fix typo in a link description.
Add a missing key binding emphasis.
Change markdown surrounding backticks to org verbatim equal signs.
Enhancement to Clojure layer documentation for the clj-kondo linter added via
pul request #12611
Moved instructions to install section as clj-kondo and squiqgly can be added as
Clojure layer variables, just like clj-refactor and sayid.
Changed the install instructions to make them specific and to use clojure layer
variables, which is consistent with other Clojure layer options.
Elaborated on the install instructions to clarify requirements, constraints and
recommended linting tool.
Added credits to the changelog.
`spacemacs/python-format-buffer` was bound to '='.
Subsequently clobbered by lsp layer declaration of '=' as prefix with subsidiary
keybindings.
Resolved by moving `spacemacs/python-format-buffer` binding to '=='.
Updated README accordingly.
Opportunistically added 'mspyls' dir to .gitignore
Update 'spacemacs|create-align-repeat-x macro to add a docstring to created
functions. The docstring refers the user to the macro, providing a link to
the source code.
helm-xref currently provides two functions and the user is expected
to use the correct one based on their emacs version. The lazy loading
logic has to be updated to set the correct xref-show-xrefs-function.
As mentioned in https://github.com/syl20bnr/spacemacs/issues/10779#issuecomment-427712967,
emacs 26.1 changed the default behavior for term-char-mode to prevent cursor
movement. This change restores consistent behavior on all versions of emacs and
allows normal-mode motions to work again.
Note that the buffer is still read-only while in normal-mode, so operators that
change the line (such as `C`, `D`, `S`) still don't work.
Fixes#10956Fixes#10779
As winner-mode was moved from init.el to dump-init.el winner-mode
was not longer properly started for non-dumped emacs sessions.
Having winner-mode auto activate at startup did fix the issue
for non-dumping users but in turn broke the dumping process.
I have now moved the necessary winner-mode init to
spacemacs/setup-startup-hook which is only called
in the non-dumping case. To allow customizations I activate
winner-mode prior to loading user-init this will allow users
to deactivate winner-mode in the dotfile and fix ediff themselves
if this is wished for.
- Added a changelog.develop entry to the various documentation changes section.
- Fixed a typo.
- Improved some of the wording.
- Mentioned that save or discard leaves helm-ag-edit not just iedit state.
Lazy loading of `winner-mode` breaks `ediff` and
`winner-undo`. As a hotfix I have deactivated
lazy loading for that package for now.
Just activating `winner-mode` after `winner-undo`
or `winner-redo` has been called does not solve
the issues described in #12582.
Guard :requires against ivy not projectile. projectile is already owned by
buil-in spacemacs-project layer, so it's always t.
This prevents install of ivy, counsel, swiper and counsel-projectile
packages regardless of helm layer
this PR does two things for js-related layers:
(i) add option to disable lsp linter
javascript-lsp-linter for javascript and react layers
typescript-lsp-linter for typescript layer
when the value is t, lsp linter will be used in the layer
when nil, let flycheck pick up the best linters available such
as eslint
(ii) when syntax-checking(flycheck) layer is installed, then set
next-error-function value in react and javascript layers to nil, so that
spacemacs next-error, previous-error work A desciption of this issue can be
found at https://github.com/syl20bnr/spacemacs/issues/8078
Co-Authored-By: duianto <otnaiud@gmail.com>
problem:
Canceling "spacemacs/ace-buffer-links" with "C-g" showed the error message:
"goto-char: Wrong type argument: number-or-marker-p, t"
solution:
Only go to and press the link if it's a position (number).
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.
Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point
`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame
Update documentation:
Zoom frame:
`q` quit transient state
Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state
Fixed a typo and made a small rewrite of the tip about using a prefix argument.
Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state
Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state
Evil numbers:
Added `k` increase
Added `_` and `j` decrease
Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state
Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To: +,=
From: - and _
To: -,_
Update the existing `SPC m g g` keybinding to use the command
`spacemacs/clj-find-var`. This makes finding a function definition a much
better experience as you dont have to have the REPL running to find a
definition, but when it is you can use a CIDER specific function.
`spacemacs/clj-find-var` is a wrapper that calls `cider-find-var` if the REPL is
running, otherwise it uses `dump-jump-go`.
Wrapper added in #9792
Latest CIDER release uses the following commands for starting the REPL from
within Emacs
`cider-jack-in-clj` to start a Clojure REPL
`cider-jack-in-clj&cljs` to start a Clojure and ClojureScript REPL
`cider-jack-in-cljs` to start a ClojureScript repl
The older aliases are deprecated and are being removed in the latest beta
release of CIDER
`cider-jack-in`
`cider-jack-in-clojurescript`
Keybindings for these jack-in commands have been updated and as there are three
options they have been moved under the repl > jack-in
The top level of the Clojure mode menu has the existing keybindings updated to
use the new commands. A third top-level keybinding `&` has been added for
`cider-jack-in-clj&cljs`
Although the Clojure repl utils (clojure.repl) are including in the user
namespace in Clojure projects, they are not available in your application
namespace.
The existing CIDER function cider-repl-require-repl-utils adds the Clojure
repl utils into the current namespace, so you can use functions such as doc
and source.
This is often a source of confusion for those new to Clojure / CIDER.
Although the Clojure repl utils (clojure.repl) are including in the user
namespace in Clojure projects, they are not available in your application
namespace.
The existing CIDER function cider-repl-require-repl-utils adds the Clojure
repl utils into the current namespace, so you can use functions such as doc
and source.
This is often a source of confusion for those new to Clojure / CIDER.
add an internal variable for `lsp` layer `lsp-layer--active-mode-list`
to keep track of active major modes using lsp,
`spacemacs//lsp-declare-prefixes-for-mode` will check this variable
to decide whether to add prefix to which-key or not
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`
Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.
In the upstream dash-docs and helm-dash documentation, they suggest a workflow
where users leave relatively little in `dash-common-docsets`, and instead add
per-mode hooks to enable specific docsets, since a user is unlikely to want
Python documentation while in a C++ buffer and vice versa. Currently, the
spacemacs dash layer will automatically discover all installed docsets and add
them to `dash-common-docsets`.
This commit adds a config option `dash-autoload-common-docsets` that can be set
to nil to skip the auto-loading and allow users to opt-in.
Co-Authored-By: duianto <otnaiud@gmail.com>
Emacs 26 added built-in support for line numbers, relative line numbers, and
visual line numbers. Spacemacs supports only absolute and relative, but there is
no way to access the visual mode. It's hard to get around this, since Spacemacs
abstracts line numbers to a reasonably high degree.
Arguably, `visual` is much more useful than `relative` as a display type. Visual
line numbers are like relative line numbers, but only lines that are actually
showing are counted. This means:
1. Hidden lines are not counted. If a large amount of text is folded, the line
numbers won't jump from "10" to "546". This is particularly useful in
buffers like `magit-status`, where a large amount of information is folded
by default.
2. Lines that are wrapped are counted as multiple lines, since they're being
displayed as multiple lines in the editor. Each visual line will be
numbered - unlike `relative`, where the entire thing is numbered... Once.
With standard relative line numbers, you can't actually navigate using the line
numbers in the sidebar as soon as folded or wrapped lines are introduced. Since
this is one of the main use cases for relative line numbers, this is a big
problem.
Visual mode fixes that problem. Every line that's being displayed is labelled.
Numbers always correspond to the actual number of lines you'd need to navigate
to reach that line.
This commit extends Spacemacs' line number interface to provide visual line
number support.
* It's now agda2-auto-maybe-all. If you are not currently in a hole
it tries to `auto` all holes by default.
* Find and set an agda-version variable, to keep compatibility with
previous agda versions.
Revealed already bound navigation keys:
- `g` go to first candidate
- `G` go to last candidate
Moved `[q] quit` from bottom left to bottom right, to match other TSs.
Reduced spacing between keys and descriptions from two to one space.
This moves the point and content of the window close to where you were
before you ran perltidy. Of course if perltidy adds or removes a
significant amount of characters / lines as part of tidying, the point
will be moved by that amount. However in practice this I've found this
to be close enough.