Rename the layer to idris-lang because idris-packages variable is used
by the package
Update key bindings to better fit spacemacs conventions
Convert markdown README to org
This removes idris-mode from the extra-langs layer and moves it to its
own layer with custom evil-leader keybindings. It also removes
documentation in extra-langs on other removed languages.
There are two major complications with idris-mode: it defines its own
evil-leader bindings which overwrite Spacemacs defaults, and it uses
the variable idris-packages, which Spacemacs uses to include the
idris-mode package, to define Idris packages to load for the current
buffer.
- Use compile instead of shell for cargo. This allow Emacs to parse the
output, including all the errors :)
- Added support for Racer (it works for me at least... hopefully for
others too)
Signed-off-by: JP-Ellis <coujellis@gmail.com>
This commit drastically simplify the previous commit by removing
the layer variable syntax-checking-check-on-buffer-change and
the associated usage of it.
This effectively make spacemacs use the default flycheck setting.
If the user wants to customize this behavior then she can modify
directly the flycheck variable.
Add a variable `syntax-checking-check-on-buffer-change` to the
`syntax-checking` layer which conditionally sets the variable
`flycheck-check-syntax-automatically` to:
- `'(save mode-enabled)` when nil
- `'(save idle-change new-line mode-enabled)` (the package default)
when non-nil
The various settings determine when Flycheck evaluates the buffer:
- `save` triggers a buffer check after buffer save.
- `mode-enabled` triggers a buffer check when `flycheck-mode` is
enabled.
- `idle-change` triggers a buffer check after the editor has been idle
for `flycheck-idle-change-delay`
- `new-line` triggers a buffer check whenever a new line is inserted
into the buffer
Which works with helm as well so we don't need to set it to
magit-ido-completing-read (triggers a warning of magit about
a required third-party we don't need).
Works with magit-next for now.
Tests to update and evilify functions robustness need to be improved.
Does not work 100% with magit-mode-map because it is created with
`make-keymap` and not `make-sparse-keymap` and `map-keymap` does not
seem to work with `make-keymap`.
Set git-use-magit-next to t in the layer variable to use it.
For now magit-ghpull from github layer is disabled.
A LOT of issues with next magit and evil remain to be fixed
Since we can use helm-gtags to jump to any valid symbol on
shell/compilation buffer. For example, if a test case fails and it
outputs a function where the failure occurs, we can move point on that
failed function and jump directly to it.
- Use =L= instead of =l= for ~cider-inspector-pop~.
- Add `cider-inspect` key-binding mention in README
- Add key-binding for `cider-debug-defun-at-point`
Bindings are technically for lisp-mode and scheme-mode rather than
slime-mode since evil-leader/set-key-for-mode doesn't seem to work
with minor modes.
In Finnish/Swedish/other keyboard layouts the `option` key is needed to
type some common characters such as `{[]}~` (#973) so make mapping it to
`meta` conditional.
This commit enables syntax highlighting for Puppetfiles via the
puppetfile-mode package.
A Puppetfile is the configuration file used by librarian-puppet and
r10k for Puppet module management a la Ruby's Bundler.
- lists were not correctly indented sometimes
- **note** and such things do not exist in org
- Note and Important
- Change Feature list to heading
- Change TODOS to actual org TODOS
- Add TOC to python layer
- list indentation
- some typos I could not leave unchanged
- TODO formatting
- List indentation
- typos
- wrong markup
fix conversion issues
Since both offer the same functionality, but except for staging hunk but
it works only with Git anyway.
diff-hl has the advantage that it is usable with left/right fringes and
margin in a single package. Also it does not have the bugs that
git-gutter is having.
There are many stuff that we have in spacemacs which are creating new
layers and also creating micro-states. This Snippets try to help with
the process (the micro-state is a work in progress).
I also set the binding `C-s-/` to `(yas-next-field-or-maybe-expand)`
because `tab` doesn't have the behaviour I quite want (to be able to
expand a snippet like (defun) inside the new-package snippet and still
be able to continue in the outer snippet afterwards. With `tab` this
is *not* possible, but with `C-M-/` it *is*.
Changed variable name
Changed keybinding
Renamed snip-dir to spacemacs-snippets-dir
Moved `setq` outsidde of inizialization function, and the keybindning
too
- Copy and paste now uses emacs commands
- `s-a` selects all
- `s-w` closes the window not the buffer
- `s-W` closes the frame
Conflicts:
contrib/osx/keybindings.el
We add this key mapping because an Emacs user can change
`dotspacemacs-major-mode-emacs-leader-key' to `C-c' and the key binding
C-c ' is shadowed by `spacemacs/default-pop-shell', effectively making
the Emacs user unable to exit src block editing.
Also, I think it best to not automatically enable electric sup- and
sub-scripts as they can be quite annoying to some people (but amazingly
useful to some others). Perhaps it is best to leave these two with the
AucTeX default and let users enable them in their config?
Signed-off-by: JP-Ellis <coujellis@gmail.com>
- Move function definitions from inside package.el to funcs.el;
- Add a few variables to allow some configuration with .spacemacs;
- Enable RefTeX support;
- Move key-binding-prefixes to config.el (similar to git layer);
- Use auto-fill-mode, with a environment-aware auto-fill function;
- Provide a few additional sane defaults (some of the more "annoying"
ones are configurable from .spacemacs)
- Remove `build-view` in favour of just `build` as it seemed to be
broken and introduce `SPC m v` to view;
- Add support to LatexMk.
!squash Added auctex-reftex-plugin variable.
Signed-off-by: JP-Ellis <coujellis@gmail.com>
Currently, when tab is pressed, spaces are inserted. It makes Python
REPL unable to recognize code indentation. We must use tab to indent.
Setting indent-tabs-mode is buffer local, so it does not affect its
value in other buffers.
Remove default auto-mode-alist mapping from *.h to c++-mode.
Introduce a variable and use that in the init: section of cc-mode to
conditionally update the auto-mode-alist.
Updated the documentation.
Conflicts:
contrib/!lang/c-c++/README.md
- enable ocamldoc in company completion
- enable merlin-document binding
- add binding for ML <-> MLI switch
- bind most merlin commands
user visible change:
printing type at point was moved to SPC mht, and SPC mhT asks for an expression
SPC mgg/mgG is now consistent with CONVENTIONS.md, and
SPC mgb can be used to go back(in addition to default C-c &)
When no Python executable is detected, Semantic causes an error that it cannot
retrieve include paths from the executable, causing an error that prevents
Python buffer to be switched and error is repeatedly reported whenever a Python
buffer is opened. This commit ignores the error from
semantic-python-get-system-include-path that is called when Semantic setup
itself for a Python buffer.
- Company should be enabled in Python REPL for displaying completion
candidates. Note that in Python REPL, we must use company-capf to
display the candidates from Python REPL, since in the REPL it uses
completion-at-point to display candidates from the REPL. Also, we
locally set company-minimum-prefix-length to 0, so that completion
starts immediately after the first character. We also need to set the
idle delay a bit higher (0.5) compared with Spacemacs default (0.2),
since setting it too low may cause company unable to retrieve completion
candidates.
- Anaconda should NOT be enabled in Python REPL for retrieving proper
completion candidates. This can be tested in Python REPL: when
anaconda-mode is enabled and without any prefix string before point, run
the command completion-at-point (bound to C-M-i by default), completion
candidates from Anaconda are displayed but NOT the ones from the real
REPL. So, when you import a module i.e. os and try to access the
functions in the module with "os." prefix, nothing inside the module is
displayed because Anaconda does not work in Python REPL. When
anaconda-mode is disabled, candidates in "os." are displayed properly
with company-capf. company-anaconda backend cannot be used in Python
REPL since it is buggy: it cannot retrieve any prefix before point and
narrow properly.
yas-global-mode is always enabled to ensure snippets are loaded
properly, but to use the snippets, a major mode must have yas-minor-mode
enabled. This commit ensure such condition happen.
By checking if the yas-minor-mode is enabled. If so, load yasnippet. We
must do so because some package might load yasnippet and make
yas-minor-mode definition available, thus prevent Spacemacs to load
yasnippet properly. By checking yas-global-mode variable, we can assure
that yas-global-mode is enabled properly.
Also exclude yasnippet from eshell.
- Only set Eshell by default on Windows; in other OSes we use `ansi-term`,
NOT `term`. The reason is that `ansi-term` can use Emacs key bindings
such as C-x b, C-x 1... even editing commands such as M-u/M-l. `term`
cannot and we have to use the default `C-c b` variants i.e. C-c b to
switch buffer instead of "C-x b". `ansi-term` is currently the best
terminal emulator in Emacs.
- Allow ansi-term/term to close its shell-pop window when a user type
"exit".
- With shell-pop, we can allow ansi-term/term to track current directory
of current buffer. It is a useful feature and it also makes ansi-term
consistent with eshell/shell.
- Swap "term" and "ansi-term" key bindings, since the old "ast" was used
for multi-term, which is a wrapper around ansi-term.
* `mtt` now reloads test ns before running all tests
* added `mtT` to reload test ns and run focused test
* added `mtr` to reload test ns and re-run failed tests for namespace
The test namespace reloading is a workflow optimization. The alternative
is a minimum of two commands (`SPC m e b` or `SPC m e f` and `SPC m t
t`) in order to re-run a single test. When driving development from
tests, this is onerous at best (and I couldn't think of a good reason
_not_ to reload the test ns).
- display a warning if agda has not been found
- add a micro-state to easily navigate between the goals
- use face-remapping-alist to redefine the faces
- add some missing key bindings
- add support for golden-ratio
- add quick cabal instruction to install agda
- sort key bindings alphabetically
This makes it possible to use the kbd tag. I'm not sure where should
this be in. Feel free to move it around.
Renamed endless to spacemacs
Added fontification to @@html: stuff (could be changed)
This is because the list of snippet dirs had our
~/.emacs.d/private/snippets at the end so it doesn't guess that.
Something must have changed upstream. Also it's better to have our own
custom snippets to be first so as to override the default ones if we
pleased.
Fix activation of auto-complete
Sort packages
Improvement with hook usage
Move opam init function in funcs.el and call it only in tuareg config
Fix errors if opam is not installed, warn if it has not been found
Small edition of the README
Rename additional REPL functions with spacemacs prefix
This is a nice feature taken from Prelude. This commit advises yank and
yank-pop and evil-paste-after to indent after pasting, unless a prefix
arugment is specified or the major mode is one of
spacemacs-indent-sensitive-modes.
Conflicts:
contrib/better-defaults/README.md
It is not needed in this case because a post-init does not mark
the package as used (so if there is not init function for company
it won't be installed and the post-init function won't be evaluated)
It is reported in this issue: https://github.com/company-mode/company-mode/issues/180
that company has distorted completion popup with fci-mode turned on.
Company maintainer proposed a fix for this issue that is added in this
commit.
Having fci-mode to visually indicate the limit of commit message region
is nice. With it, we know exactly our text does not cross the limit (i.e
72 columns). Sometimes, text can cross the boundary if we add something
but use C-n or j to move to next line.
The `progn` in the eval-after-load was not quoted, so it was being
evaluated unconditionally. This led to the haskell-indentation guides
being unconditionally enabled.
Additionally, only enable the indentation guides when
haskell-indentation-mode is on.
Resolves#1136.