Commit graph

11755 commits

Author SHA1 Message Date
Thanh Vuong
27f1519a5a
[lsp] add option to bind commands to lsp-command-map
`lsp-use-upstream-bindings` set to `t` then Spacemacs will bind all
`lsp-command-map` behind `SPC m`, `,` and `M-m`. This way the bidings will be
managed by upstream `lsp-mode` which is documented at
https://emacs-lsp.github.io/lsp-mode/page/keybindings/.

Spacemacs only replaces the prefix `s-l` with `SPC m`. For example:

| lsp binding | Spacemacs binding                   |
|-------------+-------------------------------------|
| `s-l w s`   | `SPC m w s` or `, w s` or `M-m w s` |
2021-05-03 22:53:11 +02:00
emacspace
a2dc0c18e0 Built-in files auto-update: Mon May 3 19:32:32 UTC 2021 2021-05-03 22:17:33 +02:00
Kazark
220536fd39 [org] sane default strategies for enforcing TODO dependencies 2021-05-03 22:17:07 +02:00
n-raymond
1136a61645 [ocaml] Fix variable name to make ocamlformat properly working on save 2021-05-03 22:11:32 +02:00
Lucius Hu
e5be31bb85
Bumped minimum emacs version to 26.1 2021-05-03 22:09:11 +02:00
Daniel Nicolai
4f8ac8fc39 Improve quick-start guide
The [quick-start](https://www.spacemacs.org/doc/QUICK_START.html) starts with
 explaining that users can build their own layers. Instead it should start by
 showing how easy and straightforward it is to use one of the existing layer,
 then continue about the possibility of creating personal layers (the
 quick-start guide is a logical place to visit first for a newcomer). It is only
 a small detail, but it can make a substantial difference for people who peek
 into the quick-start guide and decide if it is worth the trouble to switch to
 Spacemacs (Many newcomers think that even only trying another editor, is
 probably not worth it because they are already using vim).

A guide that starts explaininging that you can build your own layers in
Spacemacs that exists of a directory containing at a packages.el file, is not a
quick-start guide.
2021-05-03 21:30:54 +02:00
duianto
29fa26af98
Add workspace action messages and open home buffer (#14709)
### Added workspace action messages
`SPC l w` followed by a number key `0-9`
or `SPC l w s` single window workspace
>Workspace 2 created

`SPC l w 1` from another workspace
>Workspace switched to 1

`SPC l w 1` from the same workspace
>Already on Workspace 1

`SPC l w c` clones the current workspace to the next free slot
>Workspace 1 cloned to 3

`SPC l w d` close the current workspace
Workspace 3 closed

### And
Open the Spacemacs home buffer when creating a new workspace
with the number keys. Previously it opened the scratch buffer.
2021-04-30 18:31:33 +00:00
Benjamin Yang
4e5a7233b0
SpacemacsOS: provide new layer variables for systray and autostart (#14714)
I'm not sure how best to start doing this, but the branch over at
timor:spacemacsOS has moved ahead a bit.  I've grown used to a lot of these
changes, and would like to see them moved to the main develop branch.  But, the
pull request (formed by merging in CestDiego:spacemacs/SpacemacsOS in #3321)
started diverging.

Again, I'm not sure how to approach moving together these two changes.  Maybe
@timor can help somehow??

This at the least moves in some little things from Timor's branch:

- Can enable exwm-systemtray with `exwm-enable-systray`
- Can enable running XDG autostart applications (only in XDG_USER_HOME/autostart
  for now) with `exwm-autostart-xdg-applications`
- Support for reading `.desktop` files and XDG autostart.
- Can specify additional code appended to exwm-init hook with `exwm-custom-init`

---

This PR also fixed some other existing issues, and improved documentation.

Co-authored-by: timor <timor.dd@googlemail.com>
Co-authored-by: Benjamin Yang <be11ng@users.noreply.github.com>
2021-04-30 18:29:17 +00:00
Lucius Hu
2182be9440
[documentation]: Improved core-load-paths and core-versions (#14707)
- Conform to standard ELISP file practice.
- Rearranged the top-level forms s.t. Variables and constants are declared at top.
- Added section markers and documentations.
  - Use three or more `;` as a section header. They work well with built-in outline-mode. `M-j` and `M-k` is the binding to quickly navigate between them.
  - Optionally use `^L` (form-feed) as a divider for the ELISP file. It's rendered as a horizontal divider. And it works with `backward-page` (`C-x [`) and `forward-page` (`C-x ]`)
2021-04-30 05:36:23 +00:00
Carlos Ferney Clavijo Rendón
d24249b759
[erlang] fix run-prog-mode-hooks function call (#14725) 2021-04-28 10:31:59 -04:00
Lucius Hu
117f4b73ab
squash! Removed legacy codes for emacs-version < 25.1 (#14497) 2021-04-28 01:17:17 -04:00
Lucius Hu
bc27203615
Removed legacy codes for emacs-version < 25.1 (#14497) 2021-04-28 05:04:53 +00:00
Lucius Hu
982e2515a3
[keyboard-layout] replace evil-magit by evil-collection-magit
`evil-magit` is part of `evil-collection-magit` now
2021-04-28 02:14:00 +00:00
Sylvain Benner
eeee3a1fa0
[core] Fix 'append nesting in transient-state-format-hint macro (#14698) 2021-04-26 23:10:01 -04:00
wildwestrom
635c326c0a fixed asciidoc export
Fixed ox-asciidoc as per issue #14695
I just deleted one line, tested it, and it works again.
2021-04-26 22:19:42 -04:00
duianto
374fc28c76 Fix clone workspace
problem
Trying to clone a workspace `SPC l w c`
Does create a new workspace,
but it just shows the scratch buffer.

notes
In addition to fixing the cloning.

Show a minibuffer message:
Workspace: 1, cloned to Workspace: 2

To make it clear that the cloning worked.
Because the only visible difference, is that
one of the left side mode line numbers changed.
2021-04-26 22:11:22 -04:00
Benj
6b135c5a69 [scheme] Fix geiser company backends 2021-04-26 22:06:13 -04:00
emacspace
3dbe66dda7
documentation formatting: Mon Apr 26 13:46:02 UTC 2021 (#14718) 2021-04-26 09:53:56 -04:00
Daniel Nicolai
557fc0efab
Scheme layer, add REPL keybindings (#14708) 2021-04-26 09:42:48 -04:00
Zach Pearson
d72e512993
Use timeclock-mode-line-display in default bindings (#14713) 2021-04-25 18:51:39 -04:00
emacspace
e0a6363ba9 Built-in files auto-update: Fri Apr 23 14:02:04 UTC 2021 2021-04-23 23:00:39 +03:00
emacspace
eddf1dc460 documentation formatting: Fri Apr 23 14:03:32 UTC 2021 2021-04-23 23:00:39 +03:00
JAremko
982a3db01f [doc]fix the rest of exwm readme hls 2021-04-23 17:00:24 +03:00
JAremko
7f0f93d765 fix exwm readme 2021-04-23 16:54:12 +03:00
Lucius Hu
c8b914c8de erlang: Fix local vars
- Labelled `erlang-backend` as safe local variable.
- Added local variable hooks of erlang modes:
  - `spacemacs//erlang-setup-backend`
  - `spacemacs//erlang-setup-company`

See: https://github.com/syl20bnr/spacemacs/issues/14653
2021-04-22 13:03:38 -04:00
Lucius Hu
983ace0097 elixir: Fix file local vars
- Labelled `elixir-backend` as safe local variable.
- Added local variable hooks of elixir mode:
  - `spacemacs//elixir-setup-backend`

All other setup functions are already added to local variable hook.

See: https://github.com/syl20bnr/spacemacs/issues/14653
2021-04-22 12:54:03 -04:00
Lucius Hu
870b2c9e5d dart: Fix local vars
- Labelled `dart-backend` as safe local variable.

All setup functions are already added to local variable hook.

See: https://github.com/syl20bnr/spacemacs/issues/14653
2021-04-22 12:53:11 -04:00
Kjartan Óli Ágústsson
7ef15a561a
Fix issues with EXWM layer (#14693)
Added header.
Removed cl-generic dependency which is not needed for current minimum version (or later) of Emacs.
2021-04-21 17:12:52 -04:00
Kjartan Óli Ágústsson
e290b10060
Replace function aliases with their real names (#14688)
`first` and `list-length` are aliases for `car` and `cl-list-length`
respectively. Using these aliases causes emacs to error with a `symbol's function
definition is void` error, but using their real names causes no error.

Replaced them with `car` and `length`.
2021-04-21 19:42:26 +00:00
Kjartan Óli Ágústsson
ec2c511c6f
Add support for org-roam-protocol (#14687)
Co-authored-by: Lucius Hu <1222865+lebensterben@users.noreply.github.com>
2021-04-21 19:40:33 +00:00
Aaron Zeng
433f6729e7
[ocaml] Fix typo (#14692) 2021-04-21 14:37:55 -04:00
Aaron Zeng
7e03196280
[ocaml] Fix for merlin package split (#14691) 2021-04-21 13:38:18 -04:00
wildwestrom
70be2c03d8
Added asciidoc support. (#14689)
You can now export org files as asciidoc documents.
2021-04-21 12:46:33 -04:00
ralph-cheng
a6fc48dba4
bug fix - eslint not available for typescript-tsx-mode (#14685) 2021-04-21 11:04:51 -04:00
emacspace
df15f8cc15 documentation formatting: Mon Apr 19 20:28:58 UTC 2021 2021-04-19 23:15:58 +02:00
Maximilian Wolff
2e02ac0a31
[exwm] Adjust layer README to match current standards 2021-04-19 23:04:38 +02:00
Diego Berrocal
a664569a48
Add Emacs Window Manager (EXWM) Layer AKA SpacemacsOS (#3321)
* Add Emacs Window Manager (EXWM) Layer

The time has come of SpacemacsOS

* set window manager name to EXWM

* update copyright notice

* start server when EXWM is active

When using EXWM, Emacs should be ready to receive clients but the final choice
should be the user's in their shell configuration.

* respect Spacemacs naming conventions and layer organization

* leave keyboard remapping to users

* add EXWM states for Evil

* add support for helm-exwm when helm is in use

* use both exwm-randr and exwm-systemtray

* set up workspaces to match displays by default

* use ido-config instead of the deprecated workaround

When using helm-exwm, its sources distinguish title and class automatically. It
is only necessary to keep the buffer name updated when the window title changes.
When using ido, rename differently for different applications.

* add bindings for common X keys

* use standard prefix commands where available

Spacemacs already has prefix commands for controlling windows.
These are directly available in exwm-state as well as in exwm-insert-state
through leader

* remove most keybindings as they are available directly in exwm-state

* enable exwm directly in the layer configuration

It is safe to enable it here as an existing window manager will simply fail with
a warning.

* add user-configurable variables for RandR and workspaces

By default, create as many workspaces as there are displays and assign them in
RandR order.

* fix naming convention for variables

* use helm for launching applications when possible

* fix conditional helm-exwm leader keys

* remove redundant function

EXWM provides the equivalent

* conform to naming convention for Spacemacs

* separate prefix commands into those for major mode and global

* remove all default bindings

* improve readability

* clean up bindings

* remove obsolete comments

Co-authored-by: M. Domenzain <luis.domenzain@parrot.com>
2021-04-19 22:53:59 +02:00
Thanh Vuong
235aa8d44e [new layer] nav-flash
Ported from Doom
2021-04-19 22:25:40 +02:00
Maximilian Wolff
6a8dcd014e
[visual][popwin] Adjust variable naming to match conventions
Private variables must use "--" after the prefix.
2021-04-19 22:18:02 +02:00
Thanh Vuong
b4cf004319
[visual][popwin] add keybiding to resume last popwin buffer
bind it to `spc r w`
2021-04-19 22:15:41 +02:00
Thanh Vuong
056eb6b91b
[defaults] add qickrun
bind it to `SPC x x`, not sure it's the right place but it's easy to invoke
2021-04-19 22:08:47 +02:00
Daniel Nicolai
866c362d06 configure racket-describe-mode keybindings
Racket describe mode comes with its own keybinding (i.e. `q` for quit).
Additionally it contains links, so this PR binds `o` to `link-hint-open-link`
(`ace-link` does not support this mode)
2021-04-19 21:43:17 +02:00
Daniel Nicolai
623c75d7d9 Fix: update eaf layer
The layer got broken due to some minor changes in the eaf package by the eaf
developers. This commit fixes the layer to a working state.
2021-04-19 21:40:59 +02:00
Lucius Hu
3bbc7a7d40
core-customization: improved SAFE variable handling (#14679)
* core-customization: improved SAFE variable handling

- SAFE can either be a function or t.
  - When it's t, use a default validation function
    `(lambda (val) (validate-value val TYPE t))`
  - When it's a function, use the supplied function.

* Fixed bugs in go and groovy layer

In almost any cases, it's better to supply `t` instead of a function, to
`SAFE` argument of `spacemacs|defc`.

For example,
```elisp
 (spacemacs|defc go-use-gocheck-for-testing nil
   "If using gocheck for testing when running the tests -check.f will be used instead of -run to specify the test that will be ran. Gocheck is mandatory for testing suites."
  'boolean nil #'booleanp)
```

If its value is nil, it evaluate to `nil`, which means that `nil` is not
a safe value for `go-use-gocheck-for-testing` local variable.

But clearly it is.

* core-customization: improved SAFE variable handling

- Added a function `spacemacs-customization//get-variable-validator`.
  This function is designed to be used with `safe-local-variable`
  property of spacemacs custom variables.
  See details in the docstring.

```elisp
(put 'FOO 'safe-local-variable
     (apply-partially 'spacemacs-customization//get-variable-validator
                      'FOO))
```

- This is better than a lambda since `apply-partially` returns a compiled
  function. (Though the performace gain may be tiny.)
- This is better than simply calling `validate-value`, because it returns
  nil when value is nil. But sometimes nil is a valid value.

Co-authored-by: Lucius Hu <lebensterben@users.noreply.github.com>
2021-04-19 21:34:09 +02:00
Luis Ch
175840bc6e
react: fix file auto detection (#14680) 2021-04-19 17:26:19 +00:00
Sylvain Benner
4a1f0ae49f [python] Fix directory specific python-backend
With this fix it is now possible to select different backends in
different project using the directory variables mechanism of Emacs
(the file .dir-local.el)
2021-04-18 08:56:04 +02:00
Maximilian Wolff
247d059289
[go] Switch layer variables to defcustoms
and fix wrong declaration of go-mode hooks
2021-04-17 23:56:05 +02:00
Maximilian Wolff
b3bf5c1fb4
[groovy] Fix wrong customization type 2021-04-17 23:13:48 +02:00
Lucius Hu
bd3a7fb0b5
go: Fix local variables
- Labelled `go-backend` and `go-format-on-save` as safe local variable.
- Added local variable hooks of go mode:
  - `spacemacs//go-setup-backend`
  - `spacemacs//go-setup-eldoc`
  - `spacemacs//go-setup-format`

See: https://github.com/syl20bnr/spacemacs/issues/14653
2021-04-17 22:49:33 +02:00
Maximilian Wolff
539c7849d5
[core] Avoid setting safe-local-variable to nil in spacemacs|defc 2021-04-17 22:38:29 +02:00