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.
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
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
Currently, when a terminal is ended, its window is also closed. This behavior is
not satisfying to all. Thus a layer variable is added to give an option whether
to close window with terminal.
- dap-debug-edit-template is very important for some of the debug adapters so it
is important to have a keybinding for it to improve the discoverability
Moved:
- ("ai" "irc") to both the `erc` and `rcirc` layers. They don't have to be
renamed until the layers are loaded.
- ("ay" "ipython notebook") to the `ipython-notebook` layer.
- ("p$" "projects/shell")
("'" "open shell")
("as" "shells")
to the `shell` layer.
- The commands with keybindings from spacemacs-bootstrap/packages.el to
spacemacs-defaults/keybindings.el.
Removed:
- ("gd" "diff") it seems to be an old group name, there's no `SPC g d` group at
the moment.
- ("Re" "elisp") and ("Rp" "pcre") because they have moved to:
("xr" "regular expressions")
("xre" "elisp")
("xrp" "pcre")
- ("xm" "move") seems to be an old move text group, the current keybindings are
`SPC x J` and `SPC x K` which opens the Move Text Transient State.
- ("b" "persp-buffers") because `SPC b` is also renamed as ("b" "buffers") which
is more general and not persp-mode specific.
c-c++-lsp-initialization-options:
-> ccls-initialization-options
-> cquery-extra-init-params (cacheFormat set to "msgpack" by default)
c-c++-lsp-args:
-> ccls-args
-> cquery-extra-args
c-c++-lsp-cache-dir:
-> ccls: Appended to initialization-options
-> cquery-cache-dir
<<Amendment 1 21/12/18>>
Removing 'clangd' from list of lsp clients to squash per-file prompt for
language client.
Updated lsp/packages.el to reflect upstream lsp-mode function name changes.
Python layer -- added if guards to prevent anaconda package loading / keyboard
shortcut config when lsp backend selected.
Replaced opt-in use of `spacemacs/lsp-bind-keys-for-mode` function with
keybindings for the lsp minor mode, which should be enabled for all derived
layers.
<<Amendment 1 26/11/2018>>
Added call to (spacemacs//setup-lsp-jump-handler) to lsp-after-open-hook
<<Amendment 2 04/12/2018>>
Migrated to new lsp-mode package API.
Updated c-c++ layer accordingly.
<<Amendment 3 05/12/2018>>
Incorporated PR feedback / corrections from gessen
<<Amendment 4 05/12/2018>>
Incorporated further feedback / corrections from gessen
- I had some issues related to finding the corresponding shortcuts for each of
the commands and I am looking for suggestions for improvements.
- updated the lsp-java readme since the server installation is now automatic. If
you already have jdt server installation, please run lsp-java-update-server
which will download the related dap-mode related stuff.
- Make sure that you have latest melpa versions of lsp-java, lsp-ui and dap-mode
since several issues related to the java integration were fixed lately.
- dap-mode is pretty young package and it is not extensively tested
- dap-hydra which will be used as a transient state for the breakpoints and
debugging, in general, is not synched with the shortcuts in the layer. I will sync
them once there is agreement on the shortcuts configuration. Also, I have not
updated lsp-java README.org with the corresponding shortcuts for the same
reason.
- The debug integration with the python lsp layer will be implemented in
separate PR.
- There will be few more functions that are going to be added to the dap-mode at
some point and they would require shortcuts too:
* suspend/kill thread I guess - "m d t s" "m d t k"?
* watches - "m d l w"
* exception breakpoints - I have to figure out how it will look like on emacs
side.
* goto point "m d H"?
<<Amendment 1 21/09/18>>
Added functions to facilitate keybindings in derived layers consistent
with navigation style preference.
<<Amendment 2 24/09/18>>
Incorporated feedback from yyoncho
Corrected error in peek binding extension definition
<<Amendment 3 24/09/18>>
Moved 'heirarchy' prefix/keybindings from 'SPC m h' to 'SPC m <g/p> h' for
consistency with navigation style preference selections.
Added 'members' prefix under 'SPC m <g/p> m'
Moved 'lsp-ui-imenu' from 'SPC m g m' to 'SPC m g M'
<<Amendment 4 20/10/18>>
Rebased. Updated README formatting for consistency with norms.
<<Amendment 5 25/10/18>>
Rebased. Moved 'peek' keybindings from 'SPC m p' to 'SPC m G'
<<Amendment 6 01/11/18>>
Reased. Updated for compatibility with upstream changes in lsp-ui.
<<Amendment 7 02/11/18>>
Corrected oversight -- was still binding some peek funcs under 'p'
rather than 'G'. Moved backend keybindings to 'b' (for backend)
rather than 'l' (for lsp)
<<Amendment 8 06/11/18>>
Documentation corrections -- based on feedback from sdwolfz
When shell layer intercepts the clear commands and tries to replace it with
erase-buffer, this fails with 'Text is read-only'.
Work around this by using inhibit-read-only.
After merging [this PR](https://github.com/Silex/docker.el/pull/39), the
`docker.el` package now supports integration with `docker-compose`. This
commit adds a keybinding for `docker-compose`, which allows us to
interact with compose files for the current project.
`m g a` typically used to switch between .c and .h files.
Rebound `goto-viewport-symbol` under `m g k`
Added missing bindings for lsp-ui-find-implementation under `m g l`
Incorporated some other feedback from @yyoncho and @sdwolfz
(See PR discussion for detail)
See README.org for details
<<amendment 1>>
Updated some keybindings based on CONVENTIONS doc
Corrected file headers
Incorporated some immediate feedback from MaskRay
<<amendment 2>>
Corrected keybindings in README.org
<<amendment 3>>
Eliminated stray org-mode tag at table foot in README.org
Eliminated new 'l' prefix and moved bindings under 'g'
<<amendment 4>>
Updated defaults in config.el based on feedback from sebastiencs (lsp/lsp-ui dev)
- lsp-ui-sideline enabled by default
- lsp-ui-peek-expand-by-default disabled
<<amendment 5 09/04/18>>
Removed 'spacemacs/' prefix from lsp-format-buffer binding
<<amendment 6 09/04/18>>
Moved lsp-ui-peek bindings under j (jump)
Added goto bindings for new lsp-mode functions goto type definition and goto implementation
<<amendment 7 31/05/18>>
Corrected layer title in file headers
Rebased on dev tip (390462e)
<<amendment 8 03/07/18>>
Added keybindings for lsp-describe-thing-at-point,
lsp-workspace-restart, lsp-execute-code-action suggested by Yyoncho (LSP
Java)
Added avy keyboard navigation function provided by MaskRay
Reverted lsp-ui-peek to expand by default after an upstream change that
restricts expansion to current document, addressing the previous
performance issue.
<<amendment 9 04/07/18>>
Corrected keybinding for lsp-describe-thing-at-point
<<amendment 10 19/07/18>>
Rebound lsp-restart-workspace under mlq
Declared 'lsp' prefix (myrgy)
Added evil-set-command-property fix suggested by Yyoncho
Moved lsp-c-c++ layer from private branch to this PR after spending too
many hours of my life rebasing after circle CI picks up a formatting
error :)
<<amendment 11 25/07/18>>
Rebased
Bound cquery-freshen-index under lf
Bound cquery-preprocess-file under lp
<<amendment 12 01/08/18>>
Rebased
(c-c++ layer) moved semantic refactor refactor-at-point binding from mr
to mrp to prevent key binding error when semantic layer enabled
<<amendment 13 17/08/18>>
Added option to select ccls or cquery backend based on work by myrgy
Rebased on current upstream develop
<<amendment 14 20/08/18>>
Incorporated feedback from myrgy and maskray.
Corrected some duplication/inconsistencies.
Rebased.
<<amendment 15 21/08/18>>
Reduced duplication in backend config
<<amendment 16 22/08/18>>
Removed lsp-c-c++ layer example -- to be merged with c-c++ layer once
this PR is sorted
<<amendment 17 23/08/18>>
Added CHANGELOG.develop entry as per updated contribution guidelines.
<<amendment 18 24/08/18>>
Moved some keybindings as per feedback from sdwolfz
Fix issue #11037: Do not adjust the width of a popup shell's window unless its
position is left or right.
* layers/+tools/shell/funcs.el: Check that shell-pop-window-position is 'left
or 'right before adjusting the window's width.
Replace push with add-to-list in layer init functions and related code.
Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.
Replace a conditional push onto erc-packages with use of :toggle.
When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements. We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.
Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
When using spacemacs/run-pandoc to open the pandoc hydra, pandoc-mode
is called each time, which will overwrite any previous changes the user
might have done to pandoc--local-settings.
Fix this by calling pandoc-mode only when it is not yet enabled.
* Fix various isolated typos
"apppend" -> "append"
"availabe" -> "available"
"Descripti using ternon" -> "Description"
"you have not them" -> "you don't have them"
"new on" -> "new one"
"plained" -> "curved"
"repel" -> "REPL"
"vairable" -> "variable"
* Fix a few errors in the CoffeeScript layer readme
Add a missing "the".
Correct a reference to the layer as "javascript" to "coffeescript".
Fix the syntax on the link to CoffeeLint.
* Fix typos: "dofile" -> "dotfile"
* Fix typos: "formated" and "formating"
"formated" -> "formatted"
"formating" -> "formatting"
* hy: Fix docstrings in funcs.el
Fix copy-and-pasted docstring text for
spacemacs/hy-shell-eval-current-form-and-go and
spacemacs/hy-shell-eval-region-and-go.
* Fix typos: "indendation" -> "indentation"
* Fix typos: "the the", "a a"
Fix duplicated (or misplaced) articles.
* Fix typos: "wether" -> "whether"
* Fix typos: "intialize" -> "initialize"
* shell: Restore correct value for company-idle-delay
In spacemacs//toggle-shell-auto-completion-based-on-path, re-enable
automatic suggestions by restoring company-idle-delay to the value of
auto-completion-idle-delay rather than to a hardcoded value.
* Document how to disable automatic suggestions
Document how to disable automatic suggestions, and mention that the Tab key
will still perform completion even with automatic suggestions disabled.
Needs to use `pre-init` function in order to have the variable
spacemacs-web-beautify--modes to be populated before the init function of
web-beautify is actually called.
The ledger-mode maintainers removed ledger-set-month and ledger-set-year to fix
https://github.com/ledger/ledger-mode/issues/36. This was done in commit
782014ae.
The finance layer still had key-bindings pointing to these functions, that are
no longer defined, leading to errors when executing one of those bindings. This
simply removes the bindings to avoid confusion.
This commit switches the keybindings for `xclipboard-copy` and `xclipboard-paste` to `SPC x y` and
`SPC x p` respectively, as it appears these were incorrectly assigned the other way around.
The X clipboard allows a user to copy and paste content between different X
windows, e.g. copying text from Chrome into a Terminal. Copy/pasting with the X
clipboard it well supported in GUI Emacs, but not so well in terminal Emacs
(i.e `emacs -nw` or `emacsclient -t`) without resorting to using the mouse,
since terminal Emacs has no awareness of X. There are several incomplete Elisp
solutions out that work for the most part, but may not have cross-platform
support, or may fail over SSH with X forwarding or within a `tmux` session.
This layer adds support for OSX, Linux, Windows, and Cygwin using the relevant
binary on each system. For example on Linux, it uses `xsel` or `xclip` to
interface with the clipboard, depending which one is available. It also adds
support for ssh'ing into a different OS with X forwarding via `ssh -Y hostname`,
and copy/pasting to and from a remote terminal Emacs. It also supports an edge
case of continuing to work in an Emacs instance running inside a `tmux` session
which may have been started by a different ssh session, which relies on
explicitly reseting the `$DISPLAY` environment variable before calling the
relevant binary.
Yank code inspired by https://github.com/tmux-plugins/tmux-yank.
Fix#4662.
Tried to add xclip support but removed it since it freezes.
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.
The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
Problem
---
`C-j` and `C-k` key bindings don't work in eshell buffers except the first one.
Solution
---
`eshell-mode-map` is buffer-local, so key bindings have to be defined in a hook
function.
Fix readme.org
Update with some minor changes
I added quickrun package to execute python script with ease.
It is owned by lsp-python since no one is using this great package in other layers.
Fix readme
function cmake-ide-setup just setup hooks. Hooks are just variables so they
can be setup without loading the whole package. For this reason we prefer to
not call cmake-ide-setup and setup the hooks ourselves.
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.
I feel like we should start from scratch on this one and carefully choose the
defaults.
Also this settings is a very personal setting so if we make some buffers
useless we must have a consensus on it. Marking all special buffers starting
with `*` as useless is too aggressive and make Spacemacs less POLA since two
consecutive press on SPC TAB may not revert to the original buffer.
Fix docs for "Fish shell and ansi-term" and explicitly enable `truncate-lines`.
I was using the suggested hook as well as `(setq-default truncate-lines t)`,
so my fish shell was acting funny because `truncate-lines` was being disabled
rather than enabled.
Apply idiomatic way of configuring org-babel for the cfengine engine.
Remove the documentation about how to configure it since Spacemacs does it
automatically.
| ~SPC D c~ | open docker containers buffer =*docker-containers*= |
| ~L~ | open log popup for a running container |
| ~L~ | open the log |
| ~SPC b d~ | kill the buffer |
|--------------------+------------------------------------------------------|
| Observed behaviour | the =scratch= buffer is shown |
| Expected behaviour | return to =*docker-containers*= buffer |
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)
This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.
This commit also fixes:
- configuration-layer/describe-package now shows which post-init and pre-init
functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
configuration-layer/discover-layers. Previously, this led to all layers being
recreated after e.g. `SPC h SPC`, without any of the dotfile information.
Since this information is now necessary for
configuration-layer/describe-package, it’s important that we don’t clear the
indexed layers when invoking this function.
Looks like pass is trying to use variable which isn't available for some time,
at least there are no other packages using it.
`completing-read` should be universal for all completing needs I hope.
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs. Verbatim markup (`=`) is reserved for code and
other code-like things. So change several readmes to reflect this convention.
Use verbatim markup for things like (non-exhaustive list):
- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
Sometime in the past editorconfig layer has been deleted.
Commit: 5887344.
Related PR: #1526.
Explanation was that layer was so simple that everything you need to get
editorconfig to work is just add it to dotspacemacs-additional-packages.
However it's not quite true.
- (editorconfig-mode t) should be performed manually.
- it looks ugly in modeline.
If we don't use the default docksets, helm-dash will not work smoothly
unless we set the `dash-helm-dash-docset-path' variable when we import
the dash layer(actually, the default dash docset path is always
"~/Library/Application Support/Dash/DocSets").
For now realug is used only to C and C++ so it makes more sense to add it to
the c-c++ layer for now.
Later if we can generalize the support of realgud for other languages and we
can start a debugger layer.
| ~SPC m c~ | Clear deft filter |
| ~SPC m N~ | Create new file named |
| ~SPC m o~ | Deft open file in other window |
| ~SPC m r~ | Rename selected note |
It is an Emacs-wide convention to use `RET` when referring to the act of
pressing the return key. Spacemacs seems to follow that convention as well. So
fix some Org files that were deviating from this convention.
In particular, replace usages of `<return>` and `return` with `RET`.
Also update the description of an `M-RET` keybinding[1] based on the docstring
of `ido-select-text`.
[1]: Suggested-by: bmag <bmag@users.noreply.github.com>
Modify the default behavior for eshell's clear functionality.
- Make eshell `clear RET` _similar_ to `C-l`
- `clear RET` is eshell/clear
- `C-l` is eshell-clear-stroke
- Prevent `C-l` clearing cycle
- Prevent `clear RET` inserting a page of white-space
- Prevent duplicate insert lines from `clear RET`
- Make eshell-clear-keystroke that is dependent on eshell/clear
- Load both after eshell is initialized to prevent them from being overwritten
This fixes#5424, fixes#5419
Modify eshell clear statements load position
Change the clear statements load position from after loading eshell to
after enabling eshell.
This produces the same result, but is cleaner.
Note, they _cannot_ be defined before eshell loads, otherwise they are overwritten.
Refactor eshell-clear-keystroke to spacemacs/eshell-clear-keystroke
- Reduce steps needed to access clear command with define key
- Rename function to match naming conventions
- The function shouldn't be accessed from the shell prompt
- So not eshell/clear-keystroke
- The function isn't from eshell.el
- So not eshell-clear-keystroke
- However, eshell/clear should be since it is overwriting a command