Commit Graph

213 Commits

Author SHA1 Message Date
syl20bnr 05a04768b1 core: new function spacemacs/window-system-is-mac
Use if to disable the menu-bar
2016-03-31 00:34:28 -04:00
syl20bnr 8f3494d83c core: move system functions to core-funcs.el 2016-03-31 00:33:56 -04:00
d12frosted 80874646fc properly check for system-is-mac 2016-03-31 00:23:59 -04:00
d12frosted 98b329e741 move system-is-* function to core 2016-03-31 00:23:59 -04:00
syl20bnr 2d61e5304e core: add support for :variables keyword in dotspacemacs-editing-style
Add variable `hybrid-mode-enable-hjkl-bindings` to enable hjkl
navigation in hybrid mode.

example:

dotspacemacs-editing-style '(hybrid :variables
                                     hybrid-mode-enable-hjkl-bindings t
                                     hybrid-mode-default-state 'normal)
2016-03-16 22:43:50 -04:00
Eivind Fonn 83556719cb Add display-graphic-p to SPC hds 2016-02-23 23:34:49 +01:00
justbur aab007d225 evil-jumper: Remove obsolete package
The functionality is now incorporated into the evil core and this
package has been marked as obsolete.
2016-02-16 21:23:07 -05:00
Fabien Dubosson aa39eb3fd0 Add a command for reporting issue to spacemacs 2016-01-26 01:21:02 -05:00
justbur 35ad5f32ba core: Add defer-until-after-user-config
Add function that can be used to defer execution until after
dotspacemacs/user-config is run. If it has already been run the function
executes immediately.

Initially this is only used for deferring the definitions of
transient-states.
2016-01-26 01:21:01 -05:00
justbur 76cd590667 transient-state: Put code in new core file 2016-01-26 01:21:01 -05:00
justbur 9e097d898c transient-state: Load defs after user-config 2016-01-26 01:21:00 -05:00
justbur 90df083ad3 spacemacs-base: Add hydra package 2016-01-26 01:20:59 -05:00
Eivind Fonn 2d29953200 Enhance theme handling
- Restrict default theme code to spaceacs/load-theme
- Don't download package for default
- Explicitly call post-theme-init for default
- Explicitly disable existing themes when loading
2016-01-23 14:40:24 +01:00
Ista Zahn 86dd7926b7 Allow default theme in dotspacemacs-themes 2016-01-23 14:13:25 +01:00
Fredrik Bergroth 061805c7ea Add prev/next file navigation to unimpaired layer 2016-01-17 22:48:12 -05:00
syl20bnr 33ead6fc42 Deprecation of extensions and <pkg>-excluded-packages variables
As announced in previous releases, see CHANGELOG.next for more info
in the Breaking Changes section.
2016-01-17 22:06:04 -05:00
Fabien Dubosson 78b8d939f4 Add spacemacs/describe-last-keys 2016-01-11 22:01:01 -05:00
Fabien Dubosson dbf6a9de7e Improve describe-system-info output 2016-01-11 22:01:01 -05:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
Eivind Fonn d8833215b0 Make scratch buffer major mode configurable 2016-01-11 01:13:10 -05:00
syl20bnr 6d1df2845f core: remove evil variable aliases and change default to nil
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$
2016-01-11 01:13:10 -05:00
Fabien Dubosson 72a89ab312 Use jump-forward `C-i` binding only in GUI mode
Background: `C-i` and `TAB` are the same keycode for historic reasons.

With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:

- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
  to use the `C-i` (==`TAB`) keycode.

- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)

The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.

[1] 082bd65ccc/evil-maps.el?fileviewer=file-view-default#evil-maps.el-323
[2] efaa841ca4/evil-jumper.el (L241)

Fix #4505
Fix #4487
2016-01-09 18:43:48 +01:00
justbur f39033afdb startup: Fix for #4057
Please check this, but this does the trick for me to fix #4057. The
reason I'm not sure about it is I don't know what the purpose of the
do-after-display-system-init code is. It doesn't seem necessary for me,
and I'm testing this on the GUI version.
2016-01-06 23:19:12 -05:00
syl20bnr 15c7ae5bdf core: hide home buffer if a file is passed on the command line
Note that any non Emacsy command line parameter and non processed
command line parameter (that is unknown from Spacemacs) will hide the
home buffer. This should be good enough.

Fixes #4057
2016-01-06 23:03:23 -05:00
syl20bnr 76d8ff8621 core: allow debug arguments without --debug-init
Add a new core file for processing command line arguments
2016-01-06 22:50:13 -05:00
syl20bnr 1558ca3b09 Fix spacemacs-buffer/goto-buffer being called twice in some cases
When using the GUI the function is called twice, once in spacemacs/init
and once with spacemacs--after-display-system-init-list
2016-01-06 22:14:17 -05:00
syl20bnr 1fc798139b nyancat: Add support for emacs --daemon and GUI client 2016-01-04 23:48:55 -05:00
syl20bnr 18b1b4b411 Explicitly recreate the home buffer for first GUI client 2016-01-04 23:39:35 -05:00
Travis B. Hartwell eea3df4877 Properly initialize the display for daemon mode.
Add macro to wrap things that depend on the display being
initialized (and a frame active), such as getting the font.  Advise the
`server-create-window-system-frame` function which is called by
emacsclient when creating a window-system frame.  This is only run the
first time a frame is created, so the advice removes itself.

Fixes: syl20bnr/spacemacs#299 and syl20bnr/spacemacs#1894
(Among others)
2016-01-04 01:06:05 -05:00
syl20bnr 96a648d1da Update deprecation TODO to 0.106 2016-01-03 22:46:01 -05:00
syl20bnr 00c420211c core: fix configuration-layer--refresh-package-timeout
Set it again to dotspacemacs-elpa-timeout in
configuration-layer/initialize
2015-12-21 00:56:04 -05:00
Eivind Fonn 2710c14153 core: load order fix
core-configuration-layer must be loaded before calls to
dotspacemacs|call-func, which may invoke configuration-layer//set-error
2015-12-21 00:45:17 -05:00
syl20bnr a5022743e5 core: remove dash and f from boostrap and attempt to remove evil
Cannot remove evil due to bind-map requiring it.
2015-12-20 23:00:09 -05:00
syl20bnr 45799a0d27 core: remove GUI elements at the beginning 2015-12-13 15:41:24 -05:00
syl20bnr 103b864f0e core: delay creation of spacemacs buffer
Create it after the installation of the theme.
Add a redisplay when the buffer is created.
2015-12-13 15:41:24 -05:00
syl20bnr 4a6fd1b364 core: hide mode-line at startup 2015-12-11 03:07:15 -05:00
syl20bnr b55381f0e3 core: move buffer creation after GUI elements removal 2015-12-11 02:27:52 -05:00
justbur 812ba329f2 core: move spacemacs-mode to core-spacemacs-buffer.el
The rationale is to keep the spacemacs buffer related code contained in
the core-spacemacs-buffer.el file.
2015-12-11 02:25:22 -05:00
justbur f2878d594a core: Factor out spacemacs-buffer creation
Factor out the code related to creating the spacemacs buffer, so that it
can be recreated easily if it gets deleted.
2015-12-11 02:25:19 -05:00
syl20bnr df353eda54 core: remove duplicated require of core-configuration-layer 2015-12-07 23:02:24 -05:00
justbur 246ebc1a27 core-keys: Enable distinction between C-i and TAB
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
2015-12-04 00:23:10 -05:00
syl20bnr 61707e593d core: improve installation speed of themes and bootstrap packages
package-refresh-packages was called every time a bootstrap package or
a theme was installed

Use configuration-layer/retrieve-package-archives to install bootstrap
packages and themes
Add a reentrance boolean to configuration-layer/retrieve-package-archives
Add force and quiet optional arguments to configuration-layer/retrieve-package-archives
Force refresh of archive when the user requests an update of packages
2015-12-02 23:53:02 -05:00
syl20bnr d822241739 core: use request.el to check elpa archive availability
Add request.el to core/libs
Refactor package.el initialization in configuration-layer.el
Cosmetic improvements to loading messages
Remove redefinition of package-refresh-packages
2015-12-02 23:25:00 -05:00
syl20bnr 4d87ea626d core: add a basic timeout of 5s to fetch elpa archive
New file core-emacs-ext.el
This is a basic monkey-patch solution but it will do the job for now.
The timeout amount is not configurable for now.

Tested on 24.5 and 24.3.1

fixes #3284
2015-11-30 00:49:12 -05:00
syl20bnr a19c0f3d24 core: remove spacemacs/set-key funcs and add a new pre-command-hook
This pre-command-hook translates the special key to the corresponding
emacs function key. This effects only happens in terminal, this hook is
a no-op in GUI.

By doing this we attempt to bring more consistency between the GUI
and the terminal regarding TAB and RET keys.
2015-11-28 23:11:48 -05:00
syl20bnr d5233a9706 core: new spacemacs function to set keys
spacemacs/set-key
spacemacs/set-key-for-state

These functions find normalized keys which should handle as sanely as
possible the GUI and the terminal.

See docstring of spacemacs//normalize-key for more info.
2015-11-28 00:13:31 -05:00
justbur ee6a486d4c core: Add new set-key functions to core-keybindings
Set up to use bind-map instead of evil-leader for leader key
functionality.

Alias evil-leader funcs and remove package
2015-11-21 18:18:01 +01:00
justbur b294461957 evilified-state: Make into local package 2015-11-18 23:35:01 -05:00
syl20bnr 1061adbac9 New variable dotspacemacs-elpa-https
If non nil use HTTPS otherwise use HTTP.
Default is t.
2015-11-18 13:50:30 -05:00
Eivind Fonn 4f2b08154c core: Don't delete bootstrap packages as orphans 2015-11-04 20:21:42 +01:00
syl20bnr 3c7ad38e4d core: remove dotspacemacs-verbose-loading
verbose is activate with --init-debug
2015-10-07 15:51:40 -04:00
justbur 7a288656b1 debug-init: Get more info from debug-init
1. Make sure debug-on-error stays on
2. Force verbose loading
3. Detect long requires and loads (with --timed-requires)
4. Start profiler (with --profile)
2015-10-07 15:51:40 -04:00
syl20bnr 0cbe01433d Move (setq help-window-select 't) to spacemacs-base 2015-10-07 15:51:40 -04:00
sooheon 984f5aa3d8 Keep focus while navigating *help* buffers
As discussed in issue #2659.
2015-10-07 15:51:39 -04:00
Eivind Fonn def1a8df2b core: Spacemacs home as initial buffer for clients 2015-10-07 15:51:39 -04:00
syl20bnr 169d1622e8 core: set ad-redefinition-action to accept
resolves #192
resolves #2893
2015-09-29 21:10:59 -04:00
syl20bnr 5637f0963c core: fix crash at startup due to bad require 2015-09-26 00:36:01 -04:00
syl20bnr 773076a1be core: remove core-evilify-keymap.el
Move its contents to core-evilified-state.el
2015-09-26 00:26:16 -04:00
syl20bnr 8aa4eadc74 core: move prefix funcs to new file core-keybindings.el 2015-09-13 22:53:15 -04:00
Eivind Fonn de64218dcd Add distribution to describe-system 2015-09-13 22:24:02 -04:00
syl20bnr 3b7d66d118 sync-configuration-layers: add option to skip tests 2015-09-11 23:04:55 -04:00
syl20bnr 77161bd591 core: restore default mode line in home buffer 2015-09-11 23:04:01 -04:00
d12frosted 82c905559a fix return binding in terminal for spacemacs-mode 2015-09-04 09:38:15 +02:00
syl20bnr c688f29738 core: rename dotspacemacs/config to dotspacemacs/user-config
in template dotfile.
Display a warning when dotspacemacs/config is encountered; support for
dotspacemacs/config will be dropped in 0.105.0
2015-08-31 22:02:43 -04:00
justbur 51022543a8 Add tests for correctness of .spacemacs
Note this makes a critical (but backwards compatible) change
to .spacemacs.template
2015-08-31 21:26:03 -04:00
Robert O'Connor 7da1b876aa Add a rev number to SPC hds.
Describe system information was useless if we don't know which rev.
people are using. This adds this information.
2015-08-26 21:59:51 -04:00
syl20bnr 1f367476df core: move evil-want-C-u-scroll
In a near feature we should remove this setting, we should not
shadow the universal prefix argument
2015-08-26 21:33:25 -04:00
sooheon f3cb4399ba Remove duplicate call to dotspacemacs/init
As far as I can tell this seems to be the exact same function call.
Unless there's a reason for it to be in both places, we should take
it out.
2015-08-26 21:31:50 -04:00
syl20bnr 4b2d275fb5 core: move back evilify macros to their own file
Fixes tests
2015-08-12 01:48:51 -04:00
syl20bnr 75f2db862b move evilified state to core 2015-08-12 01:31:44 -04:00
syl20bnr bd7e0b8b9c core: fix syntax error in a let form 2015-08-09 00:59:13 -04:00
syl20bnr 52f2fa206b core: suppress warning message for bootstrapped packages 2015-08-09 00:59:13 -04:00
syl20bnr b887a21bb6 core: package-list-v2 working loading, still error at install time 2015-08-09 00:59:11 -04:00
syl20bnr aa090635fa core: remove support for quelpa-use-package
Unfortunately spacemacs is not designed for installation
at use-package call time.
For use-package to be called a package must already be installed,
so I will continue on the initial plan, that is providing the
quelpa recipe at the <layer>-packages list level.

This is no bigdeal, this is basically moving :quelpa from
use-package to <layer>-packages variables.

Moreover it makes more sense to define package property at
declaration time instead of initialization (at least in spacemacs
world where installation is decoupled from configuration).
2015-08-05 00:24:02 -04:00
vkz bd432752bc Replace after-init-hook with emacs-startup-hook
This has a benefit of not assuming that the user .emacs.d/ is in the
user home directory. Should continue to work as expected when this is
the case, but you could also start a fresh Emacs session like
so (assumes OSX):
open -a Emacs.app -n --args -q -l /path/to/emacs.d/init.el
So you don't have to muddle with symlinking your ~/.emacs.d or replacing
it with another just to try Spacemacs (or any other config). Note, that
this won't work with `after-init-hook` which doesn't appear to run when
Emacs is run with -q flag. As a result the `dotspacemacs/config` in your
.spacemacs won't run.
2015-08-04 23:17:12 -04:00
syl20bnr 2728ad8820 core: define quelpa variable before actually requiring it 2015-08-04 21:13:25 -04:00
syl20bnr 13b77479fb core: bootstrap quelpa and quelpa-use-package 2015-08-04 21:06:12 -04:00
Xue Fuqiao 2cd0dfdfb5 Remove `tooltip-use-echo-area' usage.
`tooltip-use-echo-area' is obsolete since 24.1; disabling `tooltip-mode'
achieves similar effect, and Tooltip mode has already been disabled in the
current code. Since Spacemacs supports Emacs 24.3 and 24.4,
`tooltip-use-echo-area' usage can be removed safely.
2015-08-02 22:18:25 -04:00
Diego Berrocal c1ec00c38c Provides only necessary info in the minibuffer 2015-08-02 17:42:20 -04:00
syl20bnr e97c85e430 Rename system-info to describe-system-info and add it to SPC h d s 2015-08-01 00:58:42 -04:00
Swaroop C H 6798c5be85 Add "system-info" fn for IRC support
I have seen many "I have a problem" discussions in the Gitter chat which
starts with a barrage of questions "Which OS? Which Emacs version?",
etc., so I thought it may be useful to have one function that will
generate the info to be copy-pasted into the Gitter chat and hence both
the user and others helping in the Gitter chat can jump directly to
solving the problem instead of the support volley to figure out the
setup.

Example output:

ELISP> (spacemacs/system-info)
"OS: darwin Emacs: 24.5.1 Spacemacs: 0.103.0 Spacemacs branch: develop
Layers: ((auto-completion :variables auto-completion-enable-help-tooltip
t) better-defaults emacs-lisp git markdown org (shell :variables
shell-default-height 30 shell-default-position (quote bottom))
syntax-checking version-control c-c++ clojure dash github html osx
python semantic sql)"

References:

From
https://github.com/syl20bnr/spacemacs/issues/2033#issuecomment-113861451 :

> Also what is your emacs version and OS ?

From
https://github.com/syl20bnr/spacemacs/issues/2042#issuecomment-113861501 :

> What's your Emacs version ? I presume it comes from the semantic
layer, can you test without the semantic layer ?
2015-08-01 00:26:40 -04:00
syl20bnr 84640910b3 Replace guide-key by which-key 2015-07-24 00:08:43 -04:00
syl20bnr e2e071c7fb Add support for automatic "evilification" of maps.
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`.
2015-06-25 23:49:53 -04:00
syl20bnr cce7e1159c Fix tab in home buffer in terminal and define a map for spacemacs-mode 2015-06-23 00:00:51 -04:00
syl20bnr 2db488ad37 core: add support for spacemacs update
Move release management suff to newly created core-release-management.el
2015-06-06 23:26:14 -04:00
syl20bnr 3a23ba9700 Enable use-package-verbose when dotspacemacs-versbose-loading is non nil 2015-06-02 22:07:55 -04:00
syl20bnr 3599517b31 Fix error when checking for new version
Explicitly re-create and fetch the checkversion remote.
2015-06-01 11:30:50 -04:00
syl20bnr d681234a71 new layer: shell 2015-05-20 22:40:25 -04:00
syl20bnr b461401c73 Deactivate injection of use-package hooks
Waiting for the fix to be merged upstream
2015-05-20 00:26:56 -04:00
syl20bnr ee862ce124 Add support for use-package injected hooks 2015-05-19 23:39:03 -04:00
Keshav Kini aab001eee8 Fix silly typo 2015-04-19 00:39:28 -04:00
zimbatm 51280cf4d8 Access github over SSL
Changes all links to github from http:// to https://
2015-04-19 00:27:48 -04:00
Lou, Yufan c57f50a84c Use file-truename in case user-emacs-directory is symlink
If not and user-emacs-directory is symlink, all following git commands will fail, resulting in "Unable to check for new version."
2015-04-15 22:39:24 -04:00
syl20bnr 57f802619b Don't consider used themes as orphans if they don't belong to a layer
Now it is not required to use the themes-megapack layer or define
a private layer to use a theme that is not in the spacemacs layer.
2015-04-14 15:50:29 -04:00
syl20bnr c920871c4a Don't need to restart after first boot 2015-04-13 02:41:47 -04:00
syl20bnr b0559c7f4d Startup buffer release note 2015-04-13 02:17:48 -04:00
syl20bnr 4c95d2238b Set preferred coding system to utf-8
Fixes #785
2015-04-12 21:27:07 -04:00
syl20bnr b8e617c886 New function spacemacs/warning 2015-04-12 12:25:53 -04:00
syl20bnr dac29ce71c Namespace spacemacs buffer functions with spacemacs-buffer prefix 2015-04-12 00:24:03 -04:00
syl20bnr 847c0b12a0 Move auto-completion macros to core 2015-04-11 15:10:21 -04:00
syl20bnr fcfe1c2c7b Fix search of package installed directory 2015-04-07 23:50:22 -04:00
syl20bnr 5f7579867a New update method
- backup the packages to be updated
- then delete them
- the user restart emacs and spacemacs will install the last version

Fixes some update errors related to byte-compilation like the one
which affected the powerline (void variable left)

This commit also adds some page break for clarity
2015-04-02 22:23:16 -04:00
syl20bnr f5713f8d44 Startup lists at the end of the buffer with a page break line 2015-04-02 00:32:38 -04:00
syl20bnr f42b686f4c Fix and tweaks for startup lists 2015-04-02 00:12:19 -04:00
Carl Lange d478955481 Startify stuff 2015-04-02 00:03:06 -04:00
syl20bnr ee2aa24bec Integrate dotfile wizard at startup 2015-03-30 23:17:29 -04:00
syl20bnr fdd481acfb New attempt to support emacs builds with no GUI support 2015-03-18 00:09:24 -04:00
syl20bnr 7bcf1dca34 Fix error for emacs versions built without graphics support 2015-03-16 23:56:17 -04:00
syl20bnr 1ea3da322c Non blocking errors at startup + inline reports in spacemacs buffer
The mode line turns red when errors have been detected
and displays the number of errors.

Fixes #440
2015-03-16 01:29:39 -04:00
syl20bnr cdfc462c99 Fix presence of GUI element when starting emacs as a daemon 2015-03-13 00:29:30 -04:00
syl20bnr 0052466422 Add official logo to startup page 2015-03-12 23:55:38 -04:00
syl20bnr 9faa1542cb Use mode-line as a progress bar 2015-03-11 23:46:37 -04:00
syl20bnr 206b1a13ae Refactor init.el and rename core-spacemacs-mode.el to core-spacemacs.el 2015-03-01 22:12:09 -05:00
Renamed from core/core-spacemacs-mode.el (Browse further)