Commit graph

11749 commits

Author SHA1 Message Date
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
Maximilian Wolff 8814329a11
[groovy] Replace defvar with spacemacs|defc
And extend spacemacs|defc to allow setting
a :safe directive.
2021-04-17 22:07:44 +02:00
Lucius Hu c83a9e76b3
groovy: Fix local vars
- Labelled `groovy-backend` as safe local variable.
- Added local variable hooks of groovy mode:
  - `spacemacs//groovy-setup-backend`
  - `spacemacs//groovy-setup-company`

See: https://github.com/syl20bnr/spacemacs/issues/14653
2021-04-17 21:02:22 +02:00
Maximilian Wolff c0525bed81 [eww] Change bindings to match its given category
Eww was wrongly classified as web-service.
It can now be found under tools hence the global
binding was changed from `SPC a w e` to
`SPC a t e`.

Also I have removed parts of the documentation
still refering to this layer not being part of
Spacemacs.
2021-04-17 14:42:25 +00:00
emacspace 9257aab154 documentation formatting: Sat Apr 17 07:08:57 UTC 2021 2021-04-17 11:32:54 +03:00
JAremko 2b92149386 Fix ewww docs 2021-04-17 10:05:33 +03:00
Maximilian Wolff bc713b1943 [eww] Fix some smaller issues in the new layer 2021-04-15 21:30:15 +00:00