Commit graph

1733 commits

Author SHA1 Message Date
Thanh Vuong 8adebd9757 [core] remove jump-to-reference from core-jump
we don't need it and it doesn't work
2021-05-08 22:42:29 +02:00
duianto 914605989f [home] Only jump to visible nr lines
problem
The number keys searches for a line starting with a number,
from the beginning to the end of the buffer,
even if they are above or below the window.

solution
Only search for the visible number lines.
2021-05-08 22:37:15 +02:00
duianto 6e578cbb34 [home] Add button: Close note
problem
It might not be clear how the note can be closed.

solution
Add a button: Close note
to the bottom right of the notes:
Quick Help and Release Notes
2021-05-08 22:24:10 +02:00
duianto 5b5bd915c2 [home] New var dotspacemacs-show-startup-list-numbers
This also defines the Spacemacs home buffer key bindings,
in the `emacs-startup-hook`.

Because the keys were being defined to early,
before the new value of: `dotspacemacs-show-startup-list-numbers`
was set in `.spacemacs`.
2021-05-08 22:19:56 +02:00
Damon Chan c4a1caae17
[core] Add :timeout/:idle for spacemacs|define-transient-state (#14742)
* Add :timeout for spacemacs|define-transient-state

This add a :timeout keyword for spacemacs|define-transient-state, it
make use of :timeout keyword defhydra according to
https://github.com/abo-abo/hydra/wiki/internals.

"The :timeout key starts a timer for the corresponding amount of seconds that disables the hydra. Calling any head will refresh the timer."

* Add idle for spacemacs|define-transient-state.

According to https://github.com/abo-abo/hydra/wiki/internals:
This key can delay the appearance of the hint.
Add :timeout and :idle in defhydra body to make it effect.
2021-05-07 21:22:16 +02:00
Lucius Hu e5be31bb85
Bumped minimum emacs version to 26.1 2021-05-03 22:09:11 +02: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
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
Sylvain Benner eeee3a1fa0
[core] Fix 'append nesting in transient-state-format-hint macro (#14698) 2021-04-26 23:10:01 -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
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
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
Maximilian Wolff 347ac504d8 [helpful] Make layer alias standard describe-functions 2021-04-15 21:14:23 +00:00
emacspace 4471024721
[bot] Auto-update (#14648)
* documentation formatting: Thu Apr 15 19:58:45 UTC 2021

* Built-in files auto-update: Thu Apr 15 19:57:01 UTC 2021
2021-04-15 22:16:34 +02:00
Daniel Nicolai b3c78297fb Add describe evil ex-command functionality
For introspection purposes it can be nice to have this functionality. Also this
function can be used to discover which ex-commands are available.
2021-04-15 22:03:59 +02:00
Maximilian Wolff 9cb5a3f67b [core] Remove some typos in doc of new jump handlers 2021-04-12 21:13:51 +00:00
Thanh Vuong f136f465ab core: revise core-jump
spacemacs|define-jump-handlers only defines a variable
`spacemacs-jump-handlers-MODE' to which handlers can be added and sets up key
bindings for mode. MODE must be a major mode,. It won't add function to mode
hook anymore.

`jump-to-definition` will walk through the three lists of handlers in the
following order: spacemacs-jump-handlers, spacemacs-jump-handlers-MODE, and
finally spacemacs-default-jump-handlers.

Dynamic handlers like lsp, tide, ggtags use spacemacs-jump-handlers to register
(add-to-list 'spacemacs-jump-handlers 'jump-hanlder)

Conventional static handlers should use spacemacs-jump-handlers-MODE
2021-04-12 21:02:23 +00:00
Mihaly Barasz bebf5c4a07 Use the standard elpa gpg homedir
Closes #13738
2021-04-12 20:15:46 +00:00
Ray 5bd1603b65 [Fix] dotspacemacs/test-dotfile complains error on new custom vars
After new custom `dotspacemacs-*` variables being introduced in
`core/core-dotspacemacs.el`, if one has an old `.spacemacs` without these
variables set, `SPC f e R` will complain error messages like
```
Variable: "dotspacemacs-emacs-dumper-dump-file" has value: "nil" that doesn't
match its type: "string"...
```
even if these variables have already had initial value.

This is because `dotspacemacs||let-init-test` macro only locally declares these
variables without setting them with their initial value.

This pull request fix this issue by expanding (dotspacemacs/get-variable-list)
into `'((var1 value1) (var2 value2) ...)` list instead of `(var1 var2 ...)`.
2021-04-10 09:43:44 +02:00
Maximilian Wolff be6f820256 Add missing GPLv3 headers to various files 2021-04-09 20:52:24 +00:00
duianto ef1ad4ecee Check package updates from Spacemacs home buffer
problem:
`SPC f e U` checks if packages have updates.
But if the current buffer isn't the Spacemacs home buffer,
then the minibuffer just shows:
>Do you want to update 1 package(s)? (y or n)

There's no information about which packages have updates.

Canceling the prompt with: `n`
and switching to the messages buffer `SPC b m`, does list them.
>(Spacemacs) --> Found 1 package(s) to update:
>
>(Spacemacs) dap-mode

But it doesn't work to switch to the home buffer,
because that information was erased when the home buffer was refreshed.

solution:
Switch to the home buffer before checking for updates.
2021-04-09 21:40:19 +02:00
duianto 4dc1d7640a [defaults] Add dotspacemacs-scroll-bar-while-scrolling 2021-04-08 21:09:54 +00:00
duianto d012d2d95f [dotfile] New var: dotspacemacs-startup-buffer-multi-digit-delay
It sets the minimum delay in seconds between number key presses.
On the Spacemacs home buffer.
2021-04-08 22:27:54 +02:00
Sylvain Benner 9c7e4bd5f1
[init] Disable GUI elements in early-init as well (#14559)
* [init] Disable GUI elements in early-init as well

Can provide a smoother startup by reducing graphical artifacts.

* [core] Add file for early-init functions

Needed to make the tests to work as early-init.el is not sourced
during tests.

Fixes error:

   Symbol’s function definition is void: spacemacs/removes-gui-elements
2021-04-08 22:25:14 +02:00
emacspace eec5ba6577
[bot] Auto-update (#14573)
* documentation formatting: Mon Apr 5 20:50:44 UTC 2021

* Built-in files auto-update: Mon Apr 5 20:49:17 UTC 2021
2021-04-05 23:19:49 +02:00
Lucius Hu f7650f89c9 refactor
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
2021-04-04 12:48:21 +02:00
Lucius Hu f4067d6375 refactor
- Replaced `(set (make-local-variable 'foo) bar)` with `(setq-local foo bar)`
2021-04-04 12:48:21 +02:00
duianto eaf2e932e6 Fix typo: connst -> const 2021-03-29 10:36:07 +02:00
duianto aabd3bcac3 Fix expected type of: dotspacemacs-which-key-delay
problem:
Setting dotspacemacs-which-key-delay to an integer, for example: 4

Makes the following message to appear on startup:
(Spacemacs) Error in dotspacemacs/init: Variable: "dotspacemacs-which-key-delay" has value: "4" that doesn’t match its type: "(float)". Validator message: "(user-error Looking for `(float)' in `4' failed because:
  not a float)"

cause:
dotspacemacs-which-key-delay expects the type: float
The float type has the description:
The value must be floating point.

solution:
Change the type to: number
The number type has the description:
The value must be a number (floating point or integer).

Source: info (`C-h i`)
In the section: Elisp > Customization Types > Simple Types
2021-03-29 10:00:28 +02:00
syl20bnr aa0c0301e2 [home] Add link to free software definition 2021-03-26 18:58:54 -04:00
emacspace 314c131209 Built-in files auto-update: Fri Mar 26 03:33:18 UTC 2021 2021-03-25 23:52:04 -04:00
syl20bnr 60a070433f [home] Add "Proudly free software" to footer 2021-03-25 23:31:18 -04:00
syl20bnr 92c1565507 [home] Fix alignement and footer regression cased by 9a66c2566 2021-03-25 23:18:39 -04:00
syl20bnr 532ad2567c [home] Add GPLv3 badge in footer 2021-03-25 22:59:32 -04:00
syl20bnr 9a66c2566e [home] Add Licensing button 2021-03-25 22:59:32 -04:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
duianto 7a2eb1be70 [home] Add multi-digit numbers to the startup lists
Added support for jumping to two digit numbers.

How quickly two numbers have to be typed,
can be modified with the variable:
spacemacs-buffer-multi-digit-delay
2021-03-21 23:38:57 +01:00
syl20bnr 3243172af1 [core] Fix another typo
Well not sure I will do all the typos mentioned by email...
2021-03-20 21:41:32 -04:00
syl20bnr 3d1b8865d9 [core] Fix value validation for dotspacemacs-editing-style 2021-03-20 20:56:34 -04:00
Lucius Hu 5830e72b60 fixup! Validate .spacemacs variables.
fixes #14535 #14537 #14529 https://github.com/syl20bnr/spacemacs/issues/10638#issuecomment-803247326
2021-03-21 01:29:09 +02:00
Lucius Hu 3e156ec763 fixup! Validate .spacemacs variables. 2021-03-21 00:54:46 +02:00
claude 3f45527813 Update doc-string for dotspacemacs-frame-title-format 2021-03-20 11:45:32 +02:00
claude 70f475d782 Fix .spacemacs validation choices 2021-03-20 11:45:32 +02:00
Aaron L. Zeng 454e729ef0 In SPC h d P, print :toggle expression using Elisp syntax
This prints out an expression in valid Lisp syntax, so that, e.g.,
strings in the expression are quoted.
2021-03-19 09:48:44 +01:00
JAremko 369cf7519f Improve spacemacs|defc doc-string 2021-03-18 20:55:08 +02:00
JAremko bbf050734a Don't show customize link in doc-strings of uncustomizable variables. 2021-03-18 20:55:08 +02:00
emacspace b86c619cb6 Built-in files auto-update: Thu Mar 18 14:37:56 UTC 2021 2021-03-18 18:07:05 +01:00