Commit graph

1735 commits

Author SHA1 Message Date
duianto
bcfd7a3fe8 [home] Show notes preview, with full note button
Show the first 5 lines of the home buffer notes:
Quick Help and Release Notes.

Added a button to show the full note.
2021-05-16 21:12:42 +02:00
Aaron Zeng
76133f86f7
[csv] Make tsv-mode inherit csv-mode's leader key bindings (#14763) 2021-05-11 20:45:45 -04:00
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