Fixes bug: pylookup fails silently on 404. For instance, on
`./pylookup -u https://matplotlib.org/` it first looks up
'https://matplotlib.org/genindex-all.html', gets a 404 response,
but instead of moving to the next candidate url, it builds an empty
index.
Cause of bug: urllib.urlopen doesn't give an error on 404.
This fixes bug #9866.
Tested to work with documentation of Python 2.6, Python 2.7, Python 3.4,
Python 3.5, Python 3.6, and latest stable releases for SciPy, NumPy,
Matplotlib, and Flask.
Fix for bug: extraneous links registered for last entry
in index. For instance, for python documentation index,
all links in footer would get attached to `zlib`.
Doing it handle_data was a bug because `self.tag`
would contain the most recent opened tag, not the tag
currently being closed. This meant, for instance, that
the elements were not being generated correctly and
"./pylook.py --cache" was broken.
This commit uses process-lines instead of shell-command-to-string, as
seen in ocaml/merlin#547.
This fixes an issue on Windows where the external command fails,
resulting in a broken load-path.
The keybindings to `rtags-select-other-window', `rtags-select' and
`rtags-bury-or-delete' should only take effect when `rtags-mode-map' is
active, instead of being activate for every buffer in evil normal state.
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.
I feel like we should start from scratch on this one and carefully choose the
defaults.
Also this settings is a very personal setting so if we make some buffers
useless we must have a consensus on it. Marking all special buffers starting
with `*` as useless is too aggressive and make Spacemacs less POLA since two
consecutive press on SPC TAB may not revert to the original buffer.
- Move rtags key bindings under `SPC m g` prefix
- Document rtags support and key bindings in README.org
- attempt to implement gtags fallback using
https://github.com/Andersbakken/rtags#fall-back-to-other-taggers
- make c-c++ layer dependend on gtags layer (gtags layer is automatically
installed when the c-c++ layer is used)
- sort packages config in packages.el
- use a dolist instead of a function to define rtags key bindings
Resolve#10041
The spacemacs/clang-format-buffer function doesn't exist. It should be replaced
with clang-format-buffer. This error was introduced in 01ddc98cef.
Problem
-------
If the symbol is not resolved due to a missing import there is no automatic way
in the Python layer to import it.
Solution
--------
Use 'importmagic' package.
Pressing `SPC m r f` at point that requires an import will suggest a list of
possible options.
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.
The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.
This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
Convention for major mode specific toggles is to put them under SPC m T prefix.
Used `n` instead of `>` because there is no unicode squared symbol with `>`.
Also use the new generated function to register the hooks.
This change makes the c-c++ layer configure company-c-headers to search for and
list completion alternatives according to the priority list found in 'man gcc'.
If supported, the default system include paths are also fetched from gcc's
configuration instead of being hard coded to "/usr/include" and
"/usr/local/include". This also remedies the problem where the C++ standard
library headers does not show up as completion alternatives without manual
addition of include paths (see #4493, #8655).
Solve part of #7628. Additionally, #7629 is no longer needed.
Add support for formatting lines, functions, and buffers with clang-format. Each
function produces a clear message on success.
The README was updated to reflect the usage of the new key bindings. References
to binding clang-format to the tab key were removed.
- Change nameless prefix to > instead of default :
- Change toggle to SPC m >
- Set nameless separator to nil in order to make it work with any type or separator
- Add diminish unicode ⧁
- Define some default global aliases for Spacemacs source code
- Rename layer variable emacs-lisp-nameless-mode to emacs-lisp-hide-namespace-prefix
- Make variable nameless-current-name safe as a local variable for string values
- Set nameless prefix for core-configuration-layer.el
Add new packages `mvn` and `maven-test-mode`.
Move `gradle-mode` configuration from groovy layer to java layer
New prefix commands `SPC m m` for maven and `SPC m l` for gradle.
Make maven and gradle commands available in java-mode.
Update documentation.
As described in issue #9464, this package was removed from melpa for
not having a GPL compatible license and is causing an error every time
spacemacs starts.
Continuation of commit 8c3cf7c3ae
As described in issue #9464, this package was removed from melpa for
not having a GPL compatible license and is causing an error every time
spacemacs starts.
Solve #9115.
The company-minimum-prefix-length variable shouldn't be set to 1000. Doing so
prevents the company completion popup from showing. Instead, let the
company-minimum-prefix-length stay at its default value.
From <https://golang.org/doc/install> "Installing to a custom location"
> The Go binary distributions assume they will be installed in /usr/local/go
> (or c:\Go under Windows), but it is possible to install the Go tools to a
> different location. In this case you must set the GOROOT environment variable
> to point to the directory in which it was installed.
The function `clojure-toggle-keyword-string` will convert a string to a keyword,
or keyword to a string.
The keybinding is added under the Clojure refactor menu, in the
"cycle/clean/convert" section.
`SPC m r c :`
As this is a `clojure-mode` function, it is defined in the clojure-mode
refactoring keybinding section of packages.el.
Currently, when a tsx file is edited, the typescript layer puts it into web
mode so we can properly edit/format the html that's inside. However, with this
you lose the awesome ", g g" keybinding which takes you to a definition of
the current function/variable. You also lose the ", g u" keybinding which
gives you all references of current function/variable. This PR adds
all the tide bindings that are in typescript mode into web mode while using the typescript layer.
NOTE:
I must add ("gg" tide-jump-to-definition) to the webList because spacemacs-jump-handlers-web-mode does not exist.
`SPC m h h` is conventional key binding to show documentation for thing under
point. It is called by `spacemacs/evil-smart-doc-lookup`, so this change makes
`K` in normal state work as expected.
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)
This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.
This commit also fixes:
- configuration-layer/describe-package now shows which post-init and pre-init
functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
configuration-layer/discover-layers. Previously, this led to all layers being
recreated after e.g. `SPC h SPC`, without any of the dotfile information.
Since this information is now necessary for
configuration-layer/describe-package, it’s important that we don’t clear the
indexed layers when invoking this function.
Problem:
The insert link key binding `, i l` shows:
Wrong type argument: commandp, markdown-insert-link
Cause:
The markdown-mode package has renamed the `markdown-insert-link` function to:
`markdown-insert-inline-link-dwim`.
Solution:
Rename the key bindings function name.
Rename documentation to match the function name.
- Move find-hy-executable to funcs.el and rename
- Don’t set hy-executable (not needed by anything)
- Setup hy only once at startup (allow user to override settings, see #5988)
- Use setup-hy in advice instead of post-activate-hook (works with many more
commands)
- Setup checkers pyenv change, too
- Guard checker setup function for possibly missing flycheck
- Combine all setup functions into one
Hy is typically installed on a python virtual environment, not globally. When
that is the case, init-hy-mode doesn't set any leader keys for hy since it
can't find the hy executable on the path. When a virtual environment is
activated, init-hy-mode is run again to see if it can find a hy executable
and setup the leader keys for hy.
The `swift-mode` REPL bindings have been updated to use a different
naming convention (e.g. a prefix of `swift-mode:` in the CL style).
Typing `, s s` would trigger this error:
```
command-execute: Wrong type argument: commandp, swift-mode-run-repl
```
This change fixes up the command names so that they are usable again
from the leader key.
Commands and key bindings found via `alchemist-refcard` command.
I've tried to adhere to Spacemacs conventions but where I couldn't find relevant
conventions, I followed Alchemist's key bindings.
Also, delete alchemist-refcard - approved by @syl20bnr at
https://github.com/syl20bnr/spacemacs/pull/8746#issuecomment-301326850
* layers/+lang/python/funcs.el (spacemacs/anaconda-view-forward-and-push):
Added helper function to go forward and hit RET
* layers/+lang/python/packages.el (python/init-anaconda-mode):
- use new evilification macro
- use helper function to go ahead and push button when hitting `RET`
- Add `C-j`, `C-k` for easy navigation in anaconda-view-mode when multiple
references are displayed. Doesn't conflict with normal `hjkl` navigation in
other views of `anaconda-view-mode`
Fix#7538Fix#5737
Currently the ocaml layer requires opam in order to work. However
opam is only really required for an easy installation of the
required ocaml binaries. The only place where opam is used
instead is to add the merlin files of the merlin installed
via opam instead of the merlin files from melp.
This commit introduces a fallback if opam is not installed but
ocamlmerlin is installed, since the melpa package of merlin
is already installed through packages.
SQL, by convention, uses upper-case keywords, although lower-case works just as
well. As humans, the separation between upper-case and lower-case helps scan and
parse the code much more quickly.
Clojure layer attempted to provide `C-j` and `C-k` keybindings
to the cider-repl-mode but there was a bug.
This fixes the bug and adds those keybindings to the documentation.
Mark up code that is mentioned in the documentation of some readmes.
In the case of “long options”, like for example `--with-emacs`, this is not just
cosmetic. On GitHub, Org files are apparently rendered in such a way that
strings like `--` in non-verbatim text (i.e. not verbatim-quoted nor
code-quoted) is transformed to `–` (EN DASH U+2013). So the string:
… --with-emacs option:
Will show up like this:
… –with-emacs option:
Also mark up nearby not-marked-up code mentions. But this pattern was what was
searched for, so this mostly changes the abovementioned kind of thing.
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs. Verbatim markup (`=`) is reserved for code and
other code-like things. So change several readmes to reflect this convention.
Use verbatim markup for things like (non-exhaustive list):
- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
ADD:
- layers/+lang/go/config.el Added new variable `go-use-test-args` to allow
specifying additional arguments being passed to `go test.
CHANGE:
- layers/+lang/go/packages.el Updated `go-run-tests` to automatically concat
the new variable `go-use-test-args` to args passed to `go test`.
Move check into function, and add to local-vars hook instead of the mode hook.
This makes the variable changeable at runtime and also as part of local vars.
Addresses #8297 for the tsfmt backend. However, does not fix tide issue, and
automatic major mode formatting (`SPC m =`) does not work in TSX files as they
are opened in web mode.
js-doc provides an alternative function for generating function doc comments
that makes use of Yasnippet to easily jump between the comment sections/tags.
This commit enables use of that function, if Yasnippet package is active.
The login is required for most jupyter installs these days.
change ipython command keybinding for open from 'n' to 'o'
Unless I'm violating some Spacemacs convention using 'o' for 'open'
seems to the right choice instead of 'n'. Better mnemonics, IMO.
Madoko is a fast markdown processor with a special .mdk extension
from microsoft research. emacs should use markdown-mode to render
a .mdk file as markdown file.
"Sayid (siy EED) is a tool for debugging and profiling clojure code."
(https://bpiel.github.io/sayid/) it allows viewing the results of each line of
code in a clojure function, without editing the code at all.
This commit evilifies the plugin and adds its commands to the "debug" submenu
of the main clojure mode menu.
If you install your node bins in places outside of the system path, you
need to add those locations to the exec path before packages are loaded
or else spacemacs won't recognize them as existing when it initializes
the layers.
For now realug is used only to C and C++ so it makes more sense to add it to
the c-c++ layer for now.
Later if we can generalize the support of realgud for other languages and we
can start a debugger layer.
The `scala-enable-eldoc` variable should be used to determine whether or not
ENSIME should print types at point. This makes sure that the hook is only set if
the variable is non-nil.
Dolists for `spacemacs/set-leader-keys-for-major-mode' were using
'emacs-lisp-mode instead of the loop variable 'mode'. Hopefully using the loop
variable was the intention.
I also updated the redundant bindings for `edebug-mode-map' and
`edebug-eval-mode-map' to use `dolist'. It probably makes more sense to put the
whole thing after :bindings rather than around it, but I wasn't sure if that
might break something.
used `:pre-config` instead `:post-init`, otherwise `slime-company` won't be
initialized because `common-lisp/init-slime-company` is called after
`common-lisp/init-slime`, and `:post-init` probably won't make effect.
Fixes#8796
Added a Spacemacs style keybinding for the function cider-eval-defun-to-comment
This function evaluates and expression and displays the result as a comment
on the following line.
The CIDER keybinding is `C-C M-;` so the Spacemacs binding uses the `;`
convention, which is also the general character for comments in Emacs.
As this is an evaluation function, the keybinding is placed under the evaluation
part of the major mode menu.
Included documentation in the README.org file
According to official elm-format documentation there is elm-format-on-save option. I've added it to layer documentation and introduced "On save usage" section which now contains info about elm format on save and imports sort on save.
- Use compilation-start to get highlighting of compilation or runtime errors.
- Configure output window in popwin and window-purpose (so that it can be closed
with C-g for example).
- Configurable buffer name.
Indentation in the elm layer was confusing to me at first so I thought it would be a good idea to add a note. I stole the section from elm-modes docs: https://github.com/jcollard/elm-mode#indentation
Some slime commands such as `,load-system` do not work without `slime-asdf`
being loaded. Since ASDF is the main system definition facility used by lisp
programs, I think this functionality should be available by default.