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
Eshell doesn't call preoutput-filter functions in the context of the eshell
buffer. This breaks the xterm color filtering when the eshell buffer is updated
when it's not currently focused.
I intend on submitting this fix upstream when I get a chance but an advice fixes
it for now. The other fix is to move the xterm color filter to a
output-filter function (instead of preoutput-filter) but those operate on
strings that have already been inserted into the buffer.
spacemacs/add-flycheck-hook was not really hooking anything, change the name
to better reflect what it does.
Also changed the push for a add-to-list to avoid duplicates.
The issues section in the bitbucket evil repository seems to
have been removed when the evil package was migrated to github.
It means that the bitbucket url to the file: evil-states.el,
is eventually going to become outdated and possibly removed.
And the bitbucket issue url now redirects to the bitbucket sign
up page.
Therefore both urls were updated to point to the equivalent
urls in the github evil repository.
New functions in rst-sphinx:
- rst-sphinx-find-conf-py-path
- rst-sphinx-open-conf
- rst-sphinx-clean
- rst-sphinx-rebuild
Modified functions:
- rst-sphinx-compile takes now an optional argument to clean the project
- rst-sphinx-find-conf has been renamed to rst-sphinx-set-variables and now use
rst-sphinx-find-conf-py-path function
New key bindings:
- "cc" --> rst-sphinx-compile
- "cC" --> rst-sphinx-clean
- "cr" --> rst-sphinx-rebuild
- "gc" --> rst-sphinx-open-conf
- "o" --> rst-sphinx-target-open)))
Updated entry for "show dotfiles at ranger startup" option.
Old variable had no effect (possibly deprecated)
Updated entry for "show previews literally" option.
Old variable had no effect (possibly mistype)