Commit graph

72 commits

Author SHA1 Message Date
syl20bnr
62f08d89fb Rename dotspacemacs-ex-key to dotspacemacs-ex-command-key
Also move the configuration to evil init function.
2016-10-09 21:28:09 -04:00
Dietrich Daroch
d1457feafb Restore easy ex-command remap
Pressing semi-colon is easier than the default colon.

Added ex-key defvar too
2016-10-09 13:21:31 -04:00
syl20bnr
703f78c2b8 Cleanup pass on file spacemacs-base/funcs.el
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
  core/core-funcs.el
- Remove unused functions

Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
2016-10-09 13:14:41 -04:00
Nathan Spaeth
8eac8c4ecf Adjust linum gutter to accomodate text-size changes 2016-10-08 19:48:21 +02:00
bmag
70c7592718 elisp test buffer: run only current buffer's tests 2016-10-08 19:44:10 +02:00
Laurens B
95a8f4e0b9 Add optional frame arguments for transparency toggle/in/decrease. 2016-10-08 19:33:40 +02:00
bmag
cded126cab Update hybrid state to upstream changes
insert state has changed upstream, this updates hybrid accordingly.
Relevant upstream commit:
2d3c01d802
2016-10-03 00:23:15 -04:00
syl20bnr
bcf2ce6ca4 Move SPC b k to SPC b C-d 2016-10-03 00:23:15 -04:00
duianto
98b5a2be4f
three words spellchecked
"horizonatl", swapped "a" and "t", resulting in: "horizontal"

"porpertized", swapped "o" and "r" , resulting in: "propertized"
"containg", added "in", resulting in: "containing"
2016-09-23 10:51:19 +03:00
Eivind Fonn
53d2ae4f15 Remove evil-smart-goto-definition 2016-09-14 11:38:14 +02:00
Eivind Fonn
060934a4f0 Add evil-goto-definition as default jumper 2016-09-14 11:34:39 +02:00
JAremko
c5be9c23a0 Recenter buffer when content width increase. 2016-09-05 21:12:52 -04:00
JAremko
95f4119366 disabled by default centering in space-doc-mode.
Fix centered-buffer-mode conflict with Emacs 25
2016-09-05 21:12:52 -04:00
syl20bnr
d998c7edf5 Move SPC p G to SPC p C-g to regenerate tags
I have the impression that SPC p G can be used for something more
useful regarding tags.
Tags regeneration triggers a process that can take a while to make
more sense to make it less accessible.

If there is nothing useful to be added to SPC p G we can consider
reverting this commit.
2016-08-31 22:32:27 -04:00
syl20bnr
1b4efdddc3 Move projectile-find-tag from SPC p y to SPC p g
SPC p g was free so why not using it.
2016-08-31 22:32:22 -04:00
syl20bnr
463be7916c Move SPC b t to replace SPC p o by org-projectile/goto-todos
SPC p o was for projectile-multi-occur which is not really useful given
the alternative provided by Spacemacs

If this binding is really important we can consider adding it back
on SPC p O or find another way to integrate multi-occur in Spacemacs.
2016-08-31 22:32:16 -04:00
ralesi
a7d4674202 Auto center spacemacs-buffer on window resize. 2016-08-31 18:29:12 +02:00
syl20bnr
c1c2d06f36 Remove SPC j F and SPC j V and add SPC m g G in Emacs Lisp
SPC j F and SPC j V don't fit the SPC j prefix because they require
the thing under point to be an Emacs lisp thing, which means that these
bindings should be major mode specific.
To replace them and accordingly to the convention the key bindings
SPC m g G in Emacs Lisp buffers has been added to go to definition
in other window.

SPC j f and SPC j v (minus letters) don't require the current buffer
to be Emacs Lisp and thus I only updated the documentation about them
mentioning that they're about Emacs Lisp variables and functions.
2016-08-25 21:19:21 -04:00
syl20bnr
e4b15b16de Dispatch function spacemacs/jump-in-buffer to layers
Use imenu init and post-init functions to leverage the layer system and
get better isolation of configuration.
2016-08-25 20:42:01 -04:00
Eivind Fonn
c1a8427488 Allow align-repeat to work with empty regexps 2016-08-24 11:13:06 +02:00
Muneeb Shaikh
6b3f4f0f54 spacemacs-base: evilify occur mode 2016-08-22 21:13:10 +02:00
Eivind Fonn
928983da47 Refactor jump to definition
This commit defines:

- spacemacs-default-jump-handlers: a list of functions that can jump to
  definition in ALL modes.

- spacemacs-jump-handlers-MODE: a list of functions that can jump to
  definition in MODE.

- spacemacs-jump-handlers: a buffer-local list of functions that can
  jump to definition. This is made up of the values of the two previous
  variables whenever a given major mode is activated.

- spacemacs/jump-to-definition: a function that tries each function in
  spacemacs-jump-handlers in order, and stops when one of them takes us
  somewhere new.

- spacemacs|define-jump-handlers: a macro that
  * defines spacemacs-jump-handlers-MODE, possibly filled with initial
    functions
  * defines a function that is added to the hook of the given MODE
  * binds “SPC m g g” of that MODE to spacemacs/jump-to-definition

This is an attempt to harmonize all the different approaches to jumping.
Specifically,

- Existing intelligent jump packages that work for only a single mode
  should go to the beginning of spacemacs-jump-handlers-MODE. E.g.
  anaconda for python, ensime for scala, etc.

- Packages like gtags that work for several modes (but potentially not
  all) and which is dumber than the intelligent jumpers should go the
  the END of spacemacs-jump-handlers-MODE.

- Packages like dumb-jump that work for all modes should go to
  spacemacs-default-jump-handlers.

In all cases the order of the jump handlers in each list should be from
most to least intelligent.

Fixes #6619
2016-08-22 15:08:25 +02:00
JAremko
328c6b81aa Add aspect ratio check for centering.
Fix git conflict.
minor improvements and cleanup.
2016-08-21 17:29:19 +02:00
JAremko
7140e8dfa8 Add extra checks, cleanup
simplify space-doc customization

rearrange defcustom groups

more checks
2016-08-21 17:29:16 +02:00
JAremko
9ba525cdde simplify space-doc-mode
refactoring
2016-08-21 17:29:13 +02:00
JAremko
7e1eae0b9a space-doc/centered-buffer improvements.
reformat

fix stuff

make sure that user wants overlays
2016-08-21 17:29:08 +02:00
Eivind Fonn
8f94a32578 Add rotate-backward to window TS 2016-08-21 17:11:36 +02:00
duianto
8ef39ae0e6 rotate-windows and -backwards, comment correction
Changes to the comment in the `spacemacs/rotate-windows` function
Sentences reordered:
From:
Default behavior.
Additional behavior. Prefix argument behavior.

To:
Default behavior,
Prefix argument behavior,
Additional behavior.

Spelling:
First sentence:
"your" replaced with "each",
"forwards" added to the end.

Second sentence (after reordering the last two sentences):
"Giving" removed,
"takes" replaced with "rotates",
"kindows" corrected to "windows",
"rotate" (next to last word) removed

(Optional) Third sentence (after reordering):
"(locked)" added after "Dedicated", it might clarify that a dedicated window means that it is locked.

After these changes:
Before:
  "Rotate your windows.
Dedicated windows are left untouched. Giving a negative prefix
argument takes the kindows rotate backwards."

After:
  "Rotate each window forwards.
A negative prefix argument rotates each window backwards.
Dedicated (locked) windows are left untouched."


The comment in the function: `spacemacs/rotate-windows-backward`
"your" replaced with "each",
"s" added to "backward",
added the same additional behavior comment as in the "main" rotation function,
"Dedicated (locked) windows are left untouched."

Before:
  "Rotate your windows backward."

After:
  "Rotate each window backwards.
Dedicated (locked) windows are left untouched."
2016-08-21 17:07:13 +02:00
Eivind Fonn
7461b51176 spacemacs-base: sort packages 2016-08-21 17:05:21 +02:00
Igor Avdeev
6bf512f99f spacemacs-base: evilify archive-mode 2016-08-21 17:04:44 +02:00
syl20bnr
564cbc40ed core: better behavior for dotspacemacs-download-packages
See end of this message for important breaking changes.

Previous behavior was to configure any installed package which caused
a lot of bad side effects and could make spacemacs unusable. This
behavior made little sense and does not fit with spacemacs.

This commit fixes this behavior by separating installed packages from
configured packages. In short dostspacemacs-download-packages variable
now only affect package installation. Packages are now configured if and
only if they are effectively *used* (i.e. listed in variable
dotspacemacs-configuration-layers or dotspacemacs-additional-packages).

IMPORTANT CHANGE: functions `configuration-layer/declare-used-layer` and
`configuration-layer/declare-used-layers` have been removed. These
functions have been introduced in develop branch only so the impact
should be minimal.
2016-08-19 21:04:33 -03:00
Eivind Fonn
08aeccb5af Add typescript variable for evil-shift-width 2016-08-18 14:34:32 +02:00
Steven Allen
22daaea708 Fix jumping backwards after calling spacemacs/evil-smart-goto-definition
Ensure that the "previous position" mark is set correctly. Credit goes to
@eltechnic0 to figuring this out.

Fixes #4942
2016-08-17 20:39:33 +02:00
Eivind Fonn
c0950f6421 Allow sub-modes of dired (e.g. ranger) 2016-08-17 20:34:09 +02:00
Jeremy Bi
629eb61149 Refactor spacemacs/open-in-external-app
New interactive function
`spacsmacs/open-file-or-directory-in-external-app`, depending on the
value of prefix argument, it opens the current file or directory in
external app.
2016-08-17 20:28:58 +02:00
duianto
e51a89a5e5 Comment corrections and two functions reordered
Misspellings:
"beginnign" changed to "beginning",
"Insert one of several lines" changed to "Insert one or several lines" in two functions,
"identation" changed to "indentation",

Missing comment copied from the function that inserts a line
in the opposite direction:
(defun spacemacs/insert-line-below-no-indent (count)
"Insert a new line below with no indentation."
and renamed the direction, resulting in:
"Insert a new line above with no indentation."

Duplicate comments removed, the comments inside the functions,
are better explanations of what the function does.

Functions reordered:
The functions:
(defun spacemacs/evil-insert-line-below (count)
and
(defun spacemacs/evil-insert-line-above (count)

were written in a illogical order,
the "above" function should be written before the "below" function,
with this change, the function order will match other functions
with "above" and "below" in their names,
for example these:
(defun spacemacs/insert-line-above-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L535
(defun spacemacs/insert-line-below-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L549

evil-commands.el
line 2205: (defun evil-open-above (count)
line 2219: (defun evil-open-below (count)

line 2310: (defun evil-copy-from-above (arg)
line 2326: (defun evil-copy-from-below (arg)

evil-common.el
line 1892: (defun evil-insert-newline-above ()
line 1901: (defun evil-insert-newline-below ()
2016-08-05 21:35:43 +02:00
Eivind Fonn
4233ffaecc Fix #6704: don’t use evil-open-below/above
- Also add counts
2016-08-05 21:31:43 +02:00
syl20bnr
1c4f685b13 core: refactor layer system
TL;DR Should get 20~25% speed improvement on startup, should get a big
improvement when using ivy or helm SPC h SPC. Users with layers.el files
in their layers must use `configuration-layer/declare-used-layer`
instead of `configuration-layer/declare-layer`

The implementation of the layer system made heavy use of `object-assoc`
and `object-assoc-list` functions which are not efficient. This PR
mainly replaces those object lists with hash maps in order to index the
objects by their name and achieve an O(1) access time.

The old object lists `configuration-layer--layers` and
`configuration-layer--packages` have been each by two variables each:
- `configuration-layer--indexed-layers` which is a hash-map of all the
layer objects and `configuration-layer--used-layers` which is a list of
all _used_ layers symbols,
- symmetrically `configuration-layer--indexed-packages` which is a
hash-map of all the package objects and
`configuration-layer--used-packages` which is a list of all _used_
packages symbols.

The hash map `configuration-layer--layer-paths` is gone, now we create
directly layer objects when discovering the layers and set the :dir
property. Note that previously the layer paths were the parent directory
of the layer, now :dir is the layer path.

The function `configuration-layer//make-layer` is now similar to its
counterpart `configuration-layer//make-package` in the sense that it
takes an optional `obj` to be able to override its properties.

The functions `configuration-layer/declare-layer` and
`configuration-layer/declare-layers` now takes an optional parameter
`usedp` in order to declare used or not used layers. For convenience
new functions have been added: `configuration-layer/declare-used-layer`
and `configuration-layer/declare-used-layers`, users _must_ update all
occurrences of `configuration-layer/declare-layer` by
`configuration-layer/declare-used-layers` in their `layers.el` files.

`helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the
changes in `core-configuration-layer.el`.

Rename some variables to make them more explicit:
`configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers`
`configuration-layer-distribution` -> `configuration-layer-force-distribution`
2016-07-28 23:26:54 -04:00
bmag
7ca4cc0554 Refactor useful/useless buffer functions
Better readability, better detection if mode derives from comint-mode,
and doesn't alter the match data (string-match-p vs. string-match).
2016-07-27 15:29:13 +09:00
bmag
fe60d0fc1e Set buffer-predicate to spacemacs/useful-buffer-p
Prevent next-buffer, other-buffer, etc. from choosing useless buffers.
No need for spacemacs/next-useful-buffer,
spacemacs/previous-useful-buffer anymore.

Also fix spacemacs/alternate-buffer to respect buffer-predicate.

When spacemacs-layouts is used, buffer-predicate filters useful buffer
that belong to the current layout.
2016-07-25 20:02:28 +09:00
Eivind Fonn
8e87132ba7 Fix possibly calling bad code after theme change 2016-07-25 14:00:02 +09:00
Jeremy Bi
e89c3ef309 Silent next-error-find-buffer when no error buffer found 2016-07-25 13:49:50 +09:00
Eivind Fonn
9c76193c77 Move exec-path-from-shell to pre 2016-07-25 12:12:31 +09:00
Muneeb Shaikh
304e338738
fix rename-current-buffer-file for OS X
`read-file-name` expects directory and not filename.
Fix #4383 #6547
2016-07-12 09:42:35 +03:00
d12frosted
6fb7adfe3c
fix call to show-all
And also move back it to spacemacs-base layer
2016-07-07 15:34:22 +03:00
JAremko
f9a846d2ee Integrate centered-buffer-mode and space-doc-mode. 2016-07-06 21:27:34 -04:00
JAremko
070d59af13 update centered-buffer-mode 2016-07-06 21:27:23 -04:00
JAremko
7a52759aa3 Rework buffer centering mode.
Add functions:
  - `spacemacs/maximize-horizontally` `SPC w _`
  - `spacemacs/toggle-centered-buffer-mode` `SPC w c`
  - `spacemacs/centered-buffer-mode-full-width` `SPC w C`
2016-07-06 21:27:17 -04:00
syl20bnr
93f09bca39 Move org related config for ediff to org layer 2016-07-06 21:16:57 -04:00
NJBS
7d29cd4708 Fix #6500, only change ediff hook if org loaded 2016-07-06 21:12:31 -04:00