Commit Graph

371 Commits

Author SHA1 Message Date
duianto a64ec4d374 swap-buffers-to-window: symbols fun def void
problem:  target window doesn't get focus after buffer swap:
          'symbols function definition is void: select-window-by-number'
solution: missing 'winum-' before 'select-window-by-number'
2017-04-28 23:03:52 -04:00
Fabian Wilk fe9de0afd8 Add key binding SPC d w SPC for built-in commnand just-one-space 2017-04-23 13:03:51 -04:00
Rostislav Svoboda 90f732c226 Count of killed matching buffers
Enables feedback messsages indication like e.g.:
    "5 buffer(s) killed"
2017-04-20 23:14:31 -04:00
Robert O'Connor 2659c8b32b Remove trailing whitespace (again) 2017-04-19 22:51:39 -04:00
bmag 4b92183cc0 new-empty-buffer: force buffer to appear in new window
Pass non-nil force-same-window argument to switch-to-buffer, so the newly
generated buffer is guaranteed to display in the newly created window.
2017-04-18 22:10:33 +03:00
syl20bnr f20ef3477d Remove redundant create-align-repeat "brackets" 2017-04-17 23:27:24 -04:00
deb0ch eb5fcd5826 also provide align functions for {, }, [ and ] under SPC x a 2017-04-17 23:19:07 -04:00
Arseny Smalyuk 23ea887107 Add asm-mode to the spacemacs-indent-sensitive-modes list 2017-04-17 22:45:34 -04:00
Steven Allen 830b252bdc Change the frame-killer mapping to `SPC q f`
It was `SPC q z` but:

1. 'z' is not a mnemonic for "frame" (although it may be more familiar to vim
   users).
2. More importantly, it's *really hard* to type 'qz' on a qwerty keyboard.
2017-04-17 22:41:11 -04:00
syl20bnr ff0bd88b0c Move all "new empty buffer" key bindings under SPC b N
and add documentation
2017-04-17 22:10:16 -04:00
duianto 33acf40245 Update new-empty-buffer: split argument
Updated the `spacemacs/new-empty-buffer` function, to accept a `split`
argument, that can have 4 values: `left`, `below`, `above` or `right`.

Added new functions and key bindings (SPC b M-h, -j, -k and -l) for
each direction.
2017-04-17 21:54:06 -04:00
duianto 642c987623 Update sort-lines-by-column, improvements
Limit the lines to only get sorted when a block or rectangle
selection is active, on 2 or more lines. Otherwise show a
message stating the requirements for sorting by column.
2017-04-17 17:51:27 -04:00
duianto 89f8d679ea Remove "ph" 'helm-projectile from spacemacs-base
Problem: In the Ivy layer, `SPC p` lists: h -> helm-projectile
but when it's called, then it shows:
`command-execute: Wrong type argument: commandp, helm-projectile`

Solution: Remove "ph" 'helm-projectile from: spacemacs-base/package.el
Because it's also defined in the Helm layer.
2017-04-17 17:44:50 -04:00
Paulo Diniz 354951e37a Creates aligment for brackets 2017-04-11 23:46:05 -04:00
JAremko 1853627d58 Redesign spacemacs-docker distribution
remove trailing whitespaces

reword
2017-04-11 23:40:59 -04:00
syl20bnr 30d7beb277 Refactor spacemacs-ui and spacemacs-ui-visual layers
Create new layers:
- spacemacs-navigation: contains packages whose principal goal is navigation
- spacemacs-modeline: contains packages about mode line

Merge spacemacs-ui and spacemacs-ui-visual into layer spacemacs-visual.
2017-04-11 23:09:35 -04:00
syl20bnr 2d0c3ae92c Rename dotspacemacs-zone-when-idle-for to dotspacemacs-zone-out-when-idle
Set key binding to SPC T Z
Improve the configuration a bit by selecting only the most interesting pgm
2017-04-09 23:55:00 -04:00
JAremko 96be9c9aeb zonefy 2017-04-09 23:26:14 -04:00
syl20bnr 3f1bb43597 Move evil-declare-ignore-repeat to evil init function 2017-04-09 17:25:57 -04:00
syl20bnr 378a767a8e evil: add text objects "«" "「" "‘" "“" 2017-04-09 15:49:55 -04:00
Robert O'Connor e9ff9f09c6 Remove trailing whitespace from all files 2017-03-26 13:06:43 -04:00
Steven Allen 48c12d48d0 Partially tame exec-path-from-shell
1. Make it possible to exclude the package (fix the go and rust layers).
2. Import variables all at once (avoid spawning multiple login shells).
3. Import variables early (during the "pre" package loading stage).
4. Centralize the platform check by using a package toggle in the
   `spacemacs-base`.
5. Avoid importing already defined variables (except `PATH`/`MANPATH`).

Relates to #8537.

TODO: We can probably trim the platform list to macos only.
2017-03-24 14:23:38 +03:00
bmag f5a736cdc1 Set evil-search-module correctly
- Just setting evil-search-module is not enough. If Evil is loaded already, we
  must call evil-select-search-module as well to actually change the
  key-bindings to use the correct search module.
- If the user didn't set hybrid-mode-use-evil-search-module so it's not bound,
  we treat it as if it was set to nil, to match the documentation and the
  default value of hybrid-mode-use-evil-search-module.
2017-03-13 21:06:07 +02:00
bmag a1c02ba323 dsm-line-numbers: support parent modes, fix mode restriction
Specifying parent modes (e.g. prog-mode) in :enabled-for-modes and
:disabled-for-modes keys in dotspacemacs-line-numbers catches derived
modes (e.g. c-mode) as well.

Fix bug where an empty :disabled-for-modes and a non-empty :enabled-for-modes
enabled line numbers everywhere, instead of only in modes specified in
:enabled-for-modes. (see https://github.com/syl20bnr/spacemacs/issues/8482)

Add auxiliary function spacemacs/derived-mode-p, similar to derived-mode-p but
takes a major-mode as an argument instead of using the current major-mode.
2017-03-13 21:04:00 +02:00
duianto 443df5dbd5 Update bitbucket evil urls to github evil urls
The issues section in the bitbucket evil repository seems to
have been removed when the evil package was migrated to github.

It means that the bitbucket url to the file: evil-states.el,
is eventually going to become outdated and possibly removed.

And the bitbucket issue url now redirects to the bitbucket sign
up page.

Therefore both urls were updated to point to the equivalent
urls in the github evil repository.
2017-03-10 13:10:33 +02:00
bmag 165b4b425f Refactor transparency functions 2017-03-03 18:14:35 +02:00
Adam Basfop Cavendish a7b0fc0485 Add enable/disable transparency functions
Add spacemacs/enable-transparency and spacemacs/disable-transparency.

For anyone who'd like to enable transparency at startup, just write '(spacemacs/enable-transparency)' to .spacemacs, and it'll work fine.

Fix spacemacs/increase-transparency and spacemacs/decrease-transparency
2017-03-03 18:14:03 +02:00
Igor Avdeev 750563961f Fix spacemacs/rename-current-buffer-file on non-file buffers.
fix issue #8415
2017-03-02 09:31:44 +02:00
Ben Gamari 7ce71c711f Add Buffer-menu-mode to global-auto-revert-ignore-modes
Fixes #7661.
2017-02-28 19:01:36 -05:00
syl20bnr eef1a87e98 Fix evil-search module activation
The search module must be set before requering evil otherwise the variable is
set but it has not effect and `isearch` module is the active module.
2017-02-07 16:53:33 -05:00
deb0ch cfcdb4dabc fix evil-search enabling in evil-state (c7e47de)
There was an error on startup saying that hybrid-mode-use-evil-search-module was
void as a variable.
2017-02-07 16:36:02 -05:00
syl20bnr 4ab741b1da Fix error global-linum-mode-check-buffers wrong type error
Check dotspacemacs-line-numbers type before getting any keyword value.
Fixes #8318
2017-02-06 08:56:16 -05:00
syl20bnr 3f38ab0a51 line-numbers: fix spacemacs/enable-line-numbers-p
Fix the condition by moving the check for file size.
2017-02-05 23:49:17 -05:00
syl20bnr d5d80eb1a1 line-number: fix backward compatibility
There was an error in `linum-on` when `dotspacemacs-line-numbers` was set to
`'relative`.

- new function `spacemacs//linum-backward-compabitility` to test for old
supported values.
- Use an :around advice for `linum-on` instead of redefining it.
- move linum init time config to `:init` section of `use-package`
- fix relative linum initialization by testing if `dotspacemacs-line-numbers` is
  a list first.
2017-02-05 13:50:50 -05:00
syl20bnr ddfb996b20 line number: broke enable-p condition into functions
Also remove the docstring about SPC h SPC as it is already implied for the other
options in the dotfile.

Note that this commit modifies one condition, namely disabled mode condition.
It removes the first test:

    (not (spacemacs/mplist-get dotspacemacs-line-numbers :enabled-for-modes))

as it is not necessary since we have a `or` in the enable-p condition. Disabled
modes will be checked only if the current major mode is not explicitly enabled
(as intented).
2017-02-05 13:10:30 -05:00
deb0ch a28e17c4d3 line numbers: finer configuration of line numbers activation 2017-02-05 12:47:19 -05:00
syl20bnr ae9a088d19 core: Fix typo 2017-02-05 12:28:03 -05:00
syl20bnr c7e47de938 evil: enable evil-search search module in evil state.
Add new hybrid variable hybrid-mode-use-evil-search-module to switch evil
search module to its own which is closer to Vim. Default is nil.

Fixes #5101
2017-02-03 19:36:19 -05:00
d12frosted 1a5579db6f
unify transient states
- use `..` for listing
- use 2 spaces between groups
- use 1 space between key binding and action
2017-01-31 18:27:01 +02:00
duianto 640efb8562
Update buffer transient state formatting
Changed the buffer transient states formatting so that it matches
most of the other transient states.

Frontend
Reduced spacing:
- Between the keys and descriptions, from 2 to 1.
- Between both columns, from 4 to 2.

Backend
The first column didn't need the last two "^" (caret) characters.
Changed the last line so that "^^^^" starts below the first column.
2017-01-31 18:27:00 +02:00
duianto e89285dd67
Update window manipulation transient state formatting
Update the formatting of the SPC w .  window manipulation
transient state panel.

Select column
Change "[0-9] window N", to "[0..9] window 0..9",
so that it matches the SPC "0..9 -> window 0..9" and
SPC b "1..9 -> buffer to window 1..9" combined entries.

Split column
Add "i" to the end of "vert", then it'll have the same number
of characters as "horiz", and the text will be aligned.

Resize column
Shorten "horizontally" and "vertically" to "horiz" and "verti",
it reduces the panels width slightly.

Other column
Shorten the horizontal line below the title, so that it matches
the longest key description.

Move [q] quit to the bottom of the column.

All columns
Equalize the horizontal spacing between the columns,
from: 2, 2, 3, 3, to 2 between all columns.
2017-01-31 18:27:00 +02:00
syl20bnr 9ac779a2e4 core: import spacemacs-theme into libs
Distribute spacemacs-theme with Spacemacs so we don't need to download the
package of the theme at startup. It was delaying the display of the home buffer.

Now Spacemacs fallback to spacemacs-dark theme if the user theme cannot be
applied. Spacemacs then tries to install and reapply the user theme. If
successful, at the subsequent startups the user theme is applied right away
instead of spacemacs-dark. If the installation failed then we display a warning
informing the user and suggesting some actions.

There is now no package left to be installed manually at the start of Spacemacs.
2017-01-25 00:30:31 -05:00
syl20bnr a00179c13f Improve spacemacs/count-word-analysis
Also display overview information using regular count-words function.
2017-01-19 17:16:56 -05:00
bmag d2168806b6 sort-lines-by-column-reverse: fix wrong call 2017-01-14 22:15:11 +02:00
deb0ch dc36181cba fix window-manipulation and buffer transient states for winum 2017-01-14 17:18:29 +02:00
Somelauw aed1594548 Add more bindings to scroll-transient-state
Move scroll bindings to SPC N
2017-01-14 17:08:57 +02:00
duianto e144fde0de update uniquify-lines, uniquify a block selection
An active evil-visual-block selection, uniquified the whole buffer, this
checks either region-active-p or evil-visual-state-p, now it sorts the
selected lines.

The comment was also updated with "a" before "region" and "the" before
"current buffer".
2017-01-14 16:53:05 +02:00
duianto 04ded77199 add sort-lines-by-column, -reverse funcs and keys 2017-01-14 16:52:44 +02:00
duianto e14c29e1df add sort-lines arg, reverse func and key binding 2017-01-14 16:51:54 +02:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
deb0ch ae81e00db6
use winum.el for window numbers
winum.el is an heavily extended and partly rewritten version of
window-numbering.el.

Among other things it allows window numbers to be shared across frames,
thus improving multi-screen user experience.
2017-01-04 19:33:13 +02:00
Nir Friedman daa1e33f55
Add binding for jump to def'n other window 2017-01-04 19:30:58 +02:00
deb0ch 04c632939a
harmonize `switch-to-scratch-buffer` and `switch-to-messages-buffer` 2017-01-04 19:28:38 +02:00
deb0ch 352c76ca72
switch-to-scratch-buffer with prefix arg opens in other window 2017-01-04 19:28:33 +02:00
Nir Friedman 946f14e0d3
Overhaul buffer transient state
- add new bindings to move and swap buffers, and switch active window,
   by number
 - change kill buffer shortcut to d for consistency
 - Change docs appropriately
2016-12-28 21:56:18 +02:00
duianto 7021490b61
update select-current-block, reduce code
Removed the variable p2, it was defined and assigned, but never used.
Removed two progn expressions that wasn't needed.

Implemented bmag's suggestions:
Changed "if" to "when", and removed a superflous p1 assignment.
2016-12-27 09:52:24 +02:00
Adel Qalieh 8e7fe6e1f2
Add keybinding for spacemacs/alternate-window
spacemacs/alternate-window was suggested to switch between the last selected
window, or the window-analog of SPC TAB (spacemacs/alternate-buffer). This is
part of a larger family of functions, such as spacemacs/jump-to-last-layout on
SPC l TAB and eyebrowse-last-window-config on SPC l w TAB.

Resolves #7845
2016-12-27 09:50:10 +02:00
duianto f5cfa4ad17 replace 9 buffer-to-window entries with one 1..9
Resolves #8038
This replaces the <kbd>SPC b</kbd> buffer-to-window 1 to 9 entries, with just one 1..9 > buffer to window 1..9.
2016-12-24 21:02:53 +02:00
Liu Xiang 8a68ae1d80 Use raw prefix argument instead numeric prefix argument 2016-12-24 20:54:42 +02:00
d12frosted 3e60792136
ivy delete file with confirmation 2016-12-22 15:53:28 +02:00
duianto b3abf4269d
add function comment, evil goto next line indent
`spacemacs/evil-goto-next-line-and-indent` doesn't have a function comment, this corrects that.
2016-12-18 11:45:02 +02:00
Justin Burkett afa2226051 which-key: Fix transient state descriptions 2016-12-09 19:24:45 -05:00
Justin Burkett c69c3b7684 which-key: Implement combined select window keys
This is @deb0ch's idea and uses the new which-key interface
2016-12-09 19:24:45 -05:00
Justin Burkett 7bf00ad878 which-key: Update usage of replacement alists
See 19186917eb
2016-11-25 12:32:10 +02:00
syl20bnr a1516a6003 Fix SPC b C-d and SPC b C-D conflict
Fixes #7814
2016-11-23 16:44:13 -05:00
syl20bnr e699f1816a core: wrap Emacs custom in a dotfile new function
New function `dotspacmacs/emacs-custom-settings` wrapping Emacs
custom settings sexps.
`dotspacemacs/emacs-custom-settings` is called just after the user
configuration (`dotspacemacs/user-config`)

Customize cannot write its auto-generated sexps inside a function, to
accomplish this we trick Emacs by setting the custom file to a file
in `.cache` directory, the path to this file is defined by the variable
`spacemacs--custom-file`. At the startup of Emacs we read this file
to insert its content inside the function
`dotspacemacs/emacs-custom-settings` in the dotfile, this is done in the
function `spacemacs/write-custom-settings-to-dotfile`.

I don't think we need to write the custom settings to the dotfile when
exiting Emacs as well, since we do it at startup at the very beginning
(i.e. before actually loading the dotfile) we should be OK.

Fixes #5170
2016-11-22 22:55:36 -05:00
Cadel Watson 0f01b0fb59 Change default fringe color for centered-buffer-mode.
The current default color is "black", which creates ugly bars for many
themes on both sides of the centered buffer. This change sets the fringe
color to the buffer's background color, which blends in nicely.
2016-11-22 20:41:45 -05:00
syl20bnr 1cd8c9caf1 Revert "Restore normal state map on evilified exit"
This reverts commit 25a519ecca.

Due to regressions, we need to find another fix for the original issue.
2016-11-22 08:30:20 -05:00
Eivind Fonn 25a519ecca Restore normal state map on evilified exit 2016-11-20 18:55:54 -05:00
syl20bnr 237b2a7373 Move `SPC b m` to kill other buffers to `SPC b C-d`
Also move `SPC b C-d` to kill other buffer with regexp to `SPC b C-D`
Update Documentation accordingly.
2016-11-20 13:27:16 -05:00
Max Willsey cce6ad3a59 Change `SPC b m` to switch to the messages buffer. 2016-11-20 13:27:16 -05:00
Francesc Elies Henar fea919c479 compilation-mode: maps `gf` to `find-file-at-point` 2016-11-15 09:26:22 +02:00
bmag 0d4a8a4d49 Emit error if can't toggle window layout 2016-11-15 09:26:22 +02:00
Muneeb Shaikh 5c9615f72d Adding window layout toggle (vertical <-> horizontal)
All credits to @bmag for this function with window state preservation
2016-11-15 09:14:58 +02:00
Kechao CAI 963621697a spacemacs-base: add prefix for ripgrep search 2016-11-12 14:32:33 +08:00
JAremko c82239a45f add tmp fix 4 zeal-at-point/issues/28 2016-11-09 21:48:10 -05:00
JAremko 21146336c1 more reasonable file names 2016-11-09 21:48:10 -05:00
JAremko 0ccb160271 Improve documentation 2016-11-09 21:48:05 -05:00
JAremko f1982f5b79 chown to user spacemacs dir 2016-11-09 21:44:59 -05:00
JAremko 4e5f351591 echo Spacemacs version in onbuild 2016-11-09 21:44:59 -05:00
JAremko a82fcd955b split out onbuild 2016-11-09 21:44:58 -05:00
JAremko 5b4bf2a55a add some docs 2016-11-09 21:44:58 -05:00
JAremko ed345c258b implement spacemacs-docker 2016-11-09 21:44:58 -05:00
bmag aa3f1816af Refactor rotate-windows, add utility swap-windows
Changes to rotate-windows:
- rename to spacemacs/rotate-windows-forward
- direction of rotation matches window numbers
- COUNT argument now rotates all windows by COUNT steps
- all window parameters are saved, not only buffer and window-start

swap-windows is not used for now, but could be helpful in the future.
2016-11-05 13:07:45 +02:00
deb0ch 855d786100
Add duplicate-line-or-region to layer better-defaults
from https://www.emacswiki.org/emacs/CopyingWholeLines

Duplicate current line, or region if active.
With argument N, make N copies.
With negative N, comment out original line and use the absolute value.

keybinding: `SPC x l d` (text - line - duplicate)
2016-11-02 21:07:15 +02:00
Eivind Fonn 721426f75c Warn if both helm and ivy are enabled 2016-10-29 15:26:05 +02:00
Eivind Fonn 4bf8e529b8 Move SPC p C-g to SPC p G 2016-10-28 13:44:29 +02:00
Nir Friedman 632e4cea6e Add keybindings to move buffers by window number 2016-10-23 19:44:35 +02:00
syl20bnr 2c5b628570 Move SPC t H to SPC t h s
SPC t h is the prefix for toggling highlighting stuff.
2016-10-23 19:44:35 +02:00
jupl 253276e0d1 Add toggle for syntax highlighting (via font-lock) 2016-10-23 19:44:35 +02:00
Eivind Fonn 4f700556af message instead of warn on failed auto-evilify 2016-10-23 19:44:35 +02:00
syl20bnr 7cdd998e78 Inverse SPC t m t and SPC t m T
Toggling the time is a segment so it is more consistent with the rest
of the lowercase keys.
Toggling the whole mode-line feels better on a capital letter.
2016-10-23 19:44:35 +02:00
jupl e384b2124b Add toggle to display time in modeline 2016-10-23 19:44:35 +02:00
deb0ch 3b92a4c2bf maximize frame earlier in the startup process 2016-10-23 19:44:35 +02:00
Valentin Ignatyev f57df781ad Fix #6947 by deriving conf-mode from text-mode 2016-10-17 20:03:02 +02:00
Todd Fiala ee9d82d7cc fix broken macOS paths for homebrew service
When Spacemacs is run as a macOS homebrew service, the window-system
at startup time is not set.  This causes the very-early
call to exec-path-from-shell, which was checking for macOS via
window-system, to fail the check.  This is pretty much game over
for macOS and user-customized paths, as the exec paths are not
updated and any extra user-path utilities (e.g. aspell, gls) won't
be found.

This change switches over to using spacemacs/system-is-mac and
spacemacs/system-is-linux as the primary check, and keeps the
window-system check for 'x in case other Unix variants
are getting exec-path set via that check.
2016-10-17 13:51:44 +02:00
bmag 797b5b08b7 golden-ratio: add to window TS only when used 2016-10-17 13:43:54 +02:00
Philippe Baron b7467c4335 Update rules for evilified state
Fixes #5738 
* Pointed out which keys are using as in Evil
* Pointed out the binding order pattern
* Added that the g binding will be directly bound to C-G
2016-10-17 13:17:34 +02:00
syl20bnr 8306626504 Move window-purpose layer to spacemacs-purpose layer
Update README.org and add spacemacs-purpose layer to spacemacs
distribution.
Move functions of the layer to funcs.el and prefix variables and
functions introduced by the layer with `spacemacs`.
2016-10-16 22:25:04 -04:00
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
syl20bnr a650877bea Remove SPC j L key binding which is the same as SPC f e l 2016-07-05 00:23:16 -04:00
ralesi c4b7c29bb9 Provide additional jump options. 2016-07-05 00:23:16 -04:00
Mazin Bokhari 00a616ef50 Add hook to ediff org files unfolded 2016-07-05 00:23:16 -04:00
bmag 9c16c40724 New macro: define regexp-bound text object 2016-07-05 00:23:16 -04:00
Wieland Hoffmann aa8b69a006 Prevent find-file-at-point from pinging what looks like domains
Previously,

* typing `gf` in domain names (for example google.com) in normal buffers
* typing `<tab>` in domain names in the minibuffer

would start pinging that domain name. This is not really useful, so
disable it.

Fixes #2654.
2016-07-05 00:23:16 -04:00
Eivind Fonn 6609cbe85f Evilify indent-rigidly 2016-07-05 00:23:16 -04:00
syl20bnr 89dc1af9a6 Remove spacemacs/add-to-local-vars-hook and use (format ...)
It is better to directly hook function using the conventional hook
functions.

Replace usage of (concat ...) by a (format ...) from which is more
readable.
2016-06-26 14:04:13 -04:00
d12frosted 6798af57e3 implement API for local-vars-hook 2016-06-26 13:51:11 -04:00
syl20bnr b30c393b8d Refactor SPC w and SPC b regarding deletion
The motivation is to clean redundent actions and bring more consistency
between `SPC b` and `SPC w` by:
- using capital letters for ace-window actions
- reusing the same letters between window and buffer when possible
- adding support for universal prefix argument to delete both window
and buffer

Details of changes:

Buffer

- `SPC b k` has been removed since the functionality is
available directly in Helm by selecting the kill buffer action

- `SPC b m` (buffer move) has been removed because the functionality
is available via `SPC w` with `SPC w h/j/k/l`, `SPC w H/J/K/L` and
`SPC w M` (see window section for the new `SPC w M`).

- `SPC b K` (kill other buffers) is now `SPC b m` to map with `SPC w m`
(kill other window or maximize). Using the universal prefix argument
`SPC u SPC b m` will also kill the windows.

- `SPC b C-k` (kill buffer matching regexp) is now simply on `SPC b k`.

- `SPC b D` now kills a buffer using ace-window.

- `SPC b d` and `SPC b D` now accept an universal prefix argument to
also delete the window. So `SPC u SPC b d` and `SPC u SPC b D` delete
the buffer and the window.

Window

- `SPC w M` now swap the window using ace-window.

- old `SPC w M` (center window) is now on `SPC w c` and `SPC w C` uses
ace-window.

- `SPC w SPC` (select window) is now on `SPC w W` since it uses
ace-window.

- `SPC w d` and `SPC w D` now accepts an universal prefix argument to
delete the window and the buffer.
2016-06-26 00:05:55 -04:00
Jonas Benn 878c45abf9
Add `kill-buffer-and-window` keybinding
`kill-buffer-and-window` is now bound to `SPC b D` and the keybinding
is documented.
2016-06-25 09:06:40 +03:00
km d7820aafd6 Remove even more 24.3 related configuration
Helm-flx, which is included as a core package, requires a minimum Emacs
version of 24.4. As it stands attempting to install Spacemacs on Emacs
24.3 or below will break on helm-flx.
2016-06-20 22:26:53 -04:00
Eivind Fonn 92b48eadea 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 22:05:56 -04:00
syl20bnr 117dcba0ed Revert "Drop support for Emacs 24.3"
This reverts commit 31bab70397 making
a new commit to put TheBB as the author.
2016-06-20 22:05:12 -04:00
syl20bnr 31bab70397 💣 Drop support for Emacs 24.3
Spacemacs now needs at least 24.4 to launch.
2016-06-20 21:55:36 -04:00
Eivind Fonn bdb40cf4d0 Implement error transient state
This works with systems defined by the error delegate function (and it
shows which system is used, and which buffer supplies the “errors”).
When the Emacs next-error system is used and the next-error buffer is a
Spacemacs GNE buffer, it also shows current number / total number.
2016-06-18 19:21:26 -04:00
Eivind Fonn c9048dc0e3 Implement generalized next-error API
The function spacemacs//gne-next can be used as next-error-function in
any buffer where lines represent “entries” that can be visited.
2016-06-18 19:21:26 -04:00
Eivind Fonn 6236f9fd58 Minor refactoring of next/previous error
Implement a delegate function that decides which system to use. Also
check for the visibility of any next-error valid buffer, not just
compilation buffers.
2016-06-18 19:21:26 -04:00
d12frosted 2570a1340b
fix spacemacs/rename-file function
It has some wrong variable names which leads to errors.
2016-06-17 21:51:48 +03:00
syl20bnr ad72dab624 Move pcre2el key bindings to SPC x r prefix
Also document it.
Move everything to spacemacs-base since the new prefix is not as invasive
2016-06-13 00:01:25 -04:00
ralesi 9047b7b5ce Move pcre2el to spacemacs-base.
Fixes #5953
2016-06-12 23:06:22 -04:00
syl20bnr 1b55eba3db spacemacs-base: fix escape from hybrid state to normal state
Reflect the changes made upstrean in evil repo.
Fixes #6270
2016-06-08 22:34:23 -04:00
syl20bnr f23ecf0b12 Rename `+distribution` to `+distributions` 2016-06-08 22:17:04 -04:00