New function configuration-layer/lazy-install to add support for
lazy installation of layers based on auto-mode-alist emacs mechanism.
This is essentially the Prelude feature but translated at the layer
level for Spacemacs.
New dotspacemacs variable to enable this feature:
dotspacemacs-enable-lazy-installation
For now this variable is set to nil by default, it will be put to t when
the feature is stable.
POC with elixir layer.
- Remove extensions template
- Prompt before creating readme (Users creating private layers probably
don't want to create a readme)
- Template out layer author and email address
- Rename LAYERNAME to LAYER_NAME for readability
- Use fallback attributes if user-full-name is unset
- Fix inconsistent Spacemacs capitalization in template
People transitioning from Vim could be surprised if we set these
variable to t by default, so setting them to nil respects better
the POLA principle.
Impacted variables:
dotspacemacs-ex-substitute-global
dotspacemacs-remap-Y-to-y$
This commit merge the `CONTRIBUTING.md` and `doc/CONTRIBUTE.org` file
into a new `CONTRIBUTING.org` file. It also refactors the content to be
more organized and make its navigation more goal-oriented.
Github displays a link to the `CONTRIBUTING.*` file when people are
opening new issues or proposing new PRs. This file is important because
it is the entry-point to contributions guidelines for most of the users.
The current setup is non-optimal, even broken, as it adds a level of
indirection, and points to a contributing file that has broken
links (due to the new documentation format). The possible drawback of
the proposed solution is that I'm not sure if it is possible to include
it into the new online documentation as it is not in `doc/` folder.
The other possibility is to keep a small `CONTRIBUTING.md` file, as it
is now, pointing to the new documentation system (once online), but I'm
preferring the proposed solution for the following reasons:
- People that are willing to contribute will probably open Github
first (for forking, creating PR, etc), not the online documentation.
- It has one level of indirection less when people click on the
guidelines guide from a new issue/PR.
- `CONTRIBUTING.*` is by convention a special kind of file on github, so
it's valid reason to break the rule and not having it in the `doc/`
folder.
Before this <tab> => TAB if there is no binding for <tab>, but then
`spacemacs/translate-C-i` turned this into <C-i>, which we don't want
because that would mean having to always bind <tab> when this option is
enabled. This commit adds a check to make sure we can't possibly be
translating from <tab> originally (we only want to capture the C-i
events in the GUI).
Also, fixes C-m translation but leaves it commented.
Added dotfile variable to template and core-dotspacemacs.el
After enabling, if C-i is translated to the "key" <C-i> which allows you
to bind a separate command in the GUI like this
(define-key map [C-i] 'c-i-command)
or this
(define-key map (kbd "<C-i>") 'c-i-command)
This has the side effect of no longer making C-i default to TAB in the
GUI, but will not affect the TAB or <tab> bindings.
Removes spacemacs//handle-terminal-keys
dotspacemacs-default-layout-name is only to set the name
new variable dotspacemacs-display-default-layout controls the display
of the default layout in the mode-line
- Rename micro-states to "layouts"
- Rename some functions to include "layout" instead of "perspective"
- cleanup variables
- move functions to funcs.el
- move package specific stuff to post-init functions
- changes key bindings
- micro-state documentation rewrite
- change format of the layouts line in the micro-state doc
- defer loading of persp-mode which loads with `SPC l`
- always display the spacemacs home buffer with no switch
- various fixes
- various new bugs :-)
I feel that it is not needed because it makes not a lot of sense to
have it non global since it is a dotfile variable.
Also remove ' from the docstring for consistency.
`global-linum-mode` is making line numbers appearing in `*spacemacs*`
and `helm` buffers, what is annoying.
This change make the linum `SPC t n` toggle buffer-local, and add a
customization variable in `.spacemacs` to enable line numbers globally.
«Globally» here as to be understood as «in `prog-mode` and `text-mode`».
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
spacemacs-core (default spacemacs)
spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.
Set as default unless user has dotspacemacs-use-ido t.
Adds comments to .spacemacs.template informing users of new behavior
tied to dotspacemacs-use-ido.
- Re-enable
- Move all autosave files to spacemacs-cache-directory
- Allow Auto-saving directly on current buffer.
- Add option to customize.
- Update .spacemacs template.
It's important to make templating variables something unique-looking so
that you don't accidentally write template variables where you don't
mean to. For example, in extensions.template, "package names go here"
was being replaced with "package <name of package>s go here", etc.
Also Search case-insensitively for good measure
Adding packages to this list will install them without
needing them to be wrapped in a layer.
Ideal for niche languages of any package that don't need
any configuration.
- Modularize and add quickhelp button
Split the current hardcoded release note display functions into smaller
reusable functions. Then reuse it for creating quickhelp button.
- fix: bind widget-button-click to left mouse click
widget-button-press is for keyboard and binding it to a left mouse
button is not suitable. The clicks on buttons are often ignored. Use the
proper widget-button-click.
- Since this is develop, point it to 0.102.x
- Beautify org CHANGELOG
Setting org-indent-mode hides the leading stars of all Org headers except
the last one just enough to indicate indentation, which make it easier
to read. Also, put it in read-only-mode so user don't accidentially mess
up his reading material.
Also put the CHANGELOG in view-mode for reading and navigating read-only
content.
- Add Evil and Emacs tutorial buttons to quickhelp
So it is even easier for first time users.
Also refactor spacemacs-buffer//insert-release-note:
- Change it to spacemacs-buffer//insert-note
- Just insert content. Widgets are optional
- Insert different widget from the two functions
spacemacs-buffer//insert-quickhelp-widget and spacemacs-buffer//insert-release-note-widget
- Put the cursor on the quickhelp button
So that users can start using it immediately. New users only knows RET
to press a button and learn the rest there.
- Add m to jump back to top menu
Also update the quickhelp content.