Commit graph

151 commits

Author SHA1 Message Date
syl20bnr
881b1f1e7f Rename special banner cate to cat 2016-05-29 23:27:31 -04:00
syl20bnr
a2de9a63af Use :toggle keyword instead of when forms 2016-05-29 22:39:21 -04:00
syl20bnr
7945d39208 Move cate to 998 index and add support for `cate' value
Also removes some empty lines in the banner.
2016-05-27 00:32:05 -04:00
syl20bnr
1f993bddf6 Rename spacemacs-helm and spacemacs-ivy layers to helm and ivy
For ivy users: be sure to update your dotfile by replacing spacemacs-ivy
by ivy
2016-05-15 22:24:27 -04:00
ralesi
f305bd01f9 Center spacemacs banner in window at startup.
Provide facility to refresh spacemacs-buffer.
2016-05-14 14:23:40 -04:00
Richard Kim
4ce4d6de77 allow emacs to be launched with -q option
If emacs is launched with -q option and spacemacs files are loaded via
--eval option, then spacemacs fails due to depending `after-init-time'
variable being set properly which is done only when emacs is launched
without -q. This patch is to remove this dependence so that spacemacs
launched with -q can still work. This is done by introducing
`spacemacs-initialized' variable which is set properly regardless of
which command line options are present or absent.
2016-04-08 18:04:11 -04:00
syl20bnr
09ff77fbd4 Make it possible to use spacemacs-bootstrap layer as a distribution 2016-04-06 13:12:13 -04:00
syl20bnr
50515a826a core: new function spacemacs-buffer/display-info-box
Extract and rewrite the code to display the startup info box.
2016-04-03 02:51:44 -04:00
syl20bnr
6770969b6f core: add variables for core-spacemacs-buffer
- spacemacs-buffer-version-info
- spacemacs-buffer-logo-title
2016-04-01 00:26:19 -04:00
syl20bnr
82fdd9a511 Use evil in holy-mode
Motivation

While disabling Evil in holy-mode makes its implementation shorter and
sounds elegant on the paper, in practice it puts a big burden on the
configuration parts which need to know if Evil is enable or not. This is
a bad separation of concerns and the bunch of fixes that we were forced
to do in the past weeks shows this issue. Those fixes were about
removing the knowledge of the activation of Evil by implementing new
dispatching functions to be used by layers, this is cumbersome and makes
Spacemacs layer configuration more subtle which is not good. There was
additional bad consequences of the removal of Evil state like the
impossibility to use Evil lisp state or iedit states, or we would have
been forced to implement a temporary activation of Evil which is
awkward.

Instead I reintroduce Evil as the central piece of Spacemacs design thus
Evil is now re-enabled in holy-mode. It provides the abstraction we need
to isolate editing styles and be able to grow the Spacemacs
configuration coverage sanely. Layers don't need to check whether the
holy mode is active or not and they don't need to know if Evil is
available (it is always available). We also don't need to write
additional dispatching functions, this is the job of Evil, and I think
it provides everything for this. Ideally configuration layer should be
implemented with only Evil in mind and the holy-mode (and hybrid-mode)
should magically make it work for Emacs style users, for instance we can
freely use `evil-insert-state` anywhere in the code without any guard.

Evil is now even more part of Spacemacs, we can really say that
Spacemacs is Emacs+Evil which is now an indivisible pair. Spacemacs
needed this stable API to continue on the right track.

While these changes should be rather transparent to the user, I'm sorry
for this experimental period, I failed to see all the implications of
such a change, I was just excited about the possibility to make Evil
optional. The reality is that Spacemacs has to embrace it and keep its
strong position on being Emacs+Evil at the core.

Implementation

- insert, motion and normal states are forced to emacs state using an
advice on `evil-insert-state`, `evil-motion-state` and
`evil-normal-state` respectively. These functions can be used freely in
the layer configuration.
- A new general hook `spacemacs-editing-style-hook` allow to hook any
code that need to be configured based on the editing style. Functions
hooked to this hook takes the current style as parameter, this
basically generalize the hook used to setup hjkl navigation bindings.
- ESC has been removed from the emacs state map.
- Revert unneeded changes
  - Revert "evil: enter insert-state only from normal-state"
    commit bdd702dfbe.
  - Revert "avoid being evil in deft with emacs editing style"
    commit f3a16f49ed.

Additional changes

All editing style packages have been moved to a layer called
`spacemacs-editing-styles`

Notes

I did not have time to attack hybrid mode, I should be able to do it
later.
2016-03-13 21:16:55 -04:00
Igor Avdeev
0e416290c4 Fix display of recent bookmarks without filename 2016-02-14 20:57:46 -05:00
syl20bnr
fd4c2fb546 core-spacemacs-buffer: respect 80 characters per line 2016-01-31 20:31:09 -05:00
tonyday567
36e7e4ef73 Add support for todos and agenda in home buffer 2016-01-31 20:31:09 -05:00
Xue Fuqiao
4958f7fc10 Fix "the point" problems
Point is a proper name when it refers to the current editing location.
Moreover, point designates a place *between* two characters (or before the first
character, or after the last character), rather than a particular character.

References:

* http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html
* https://www.gnu.org/software/emacs/manual/html_node/elisp/Point.html#index-point
2016-01-31 21:48:52 +01:00
syl20bnr
3d63dd4392 core: fix red mode-line when an error occurred
Rename function configuration-layer//set-error to
configuration-layer//increment-error-count
2016-01-12 00:08:36 -05:00
syl20bnr
046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
justbur
f3ef9cd206 spacemacs-buffer: Add back q binding
It seems to have been lost with the switch to fundamental-mode
2016-01-11 01:13:09 -05:00
justbur
bf40dc3b70 ivy: Guard helm-mode call in spacemacs-buffer 2016-01-09 13:36:03 -05:00
justbur
1f01c5dc7b spacemacs-buffer: Use ivy-spacemacs-help when avail. 2016-01-09 13:36:03 -05:00
syl20bnr
6fc995e196 core: derive spacemacs-mode from fundamental-mode
special-mode does nothing ... special but bring unwanted mapped keys.
2016-01-08 23:34:34 -05:00
justbur
f52eb86b69 spacemacs-buffer: Make map overriding for evil
Prevents keys in this map from being shadowed by evil-motion-state-map

Fix #4471
2016-01-08 23:11:44 -05:00
syl20bnr
723a7921d7 core: update home buffer links to point to spacemacs.org 2016-01-06 01:21:06 -05:00
syl20bnr
b426098f2e Use b instead of a in home buffer for bookmarks
Even if it shadows `b` in motion state, I never used it and I doubt
that it is really useful, and there is still `B` available.
2016-01-03 23:00:50 -05:00
Kechao CAI
0ff8c2df48 Change shortcut of bookmarks in *spacemacs* buffer
In *spacemacs* buffer, the quick help in `[?]` shows that `m` jumps to
the menu. However, if one customizes the startup lists by setting
`dotspacemacs-startup-lists '(recents bookmarks projects)`, the shortcut
`m` of jumping to the menu would be shadowed and `m` jumps to Bookmarks.

With the help of travisbhartwell and TheBB, I changed the shortcut of
jumping to the Bookmarks to `a` to avoid this shortcut conflict.
2016-01-03 14:59:18 +01:00
justbur
39760a1cfe core: Update to preferred versions of functions
1. Don't use beginning-of-buffer (or end):
   These are for interactive use only according to compiler

2. reduce => cl-reduce

3. next-line => forward-line
   next-line is only for interactive use

4. set-default-font => set-frame-font
   set-default-font is obsolete since 23.1

5. show-subtree => outline-show-subtree (alias)

6. show-all => outline-show-all (alias)
2015-12-21 00:25:41 -05:00
justbur
0b02475772 Use built-in evil functions to set default states
evil-set-initial-state is safer than manually adding and deleting from
the lists, because it knows about all available states and ensures that
the mode only shows up in one list. If it is in multiple list the
initial state depends on which is checked first, which we don't want.
2015-12-21 00:22:18 -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
justbur
6649b6ab1c Don't always start spacemacs buffer in motion state
When editing style is emacs.
Fix #4152
2015-12-12 23:00:55 -05:00
syl20bnr
fc72c37aaf core: fix page-break on home buffer 2015-12-11 03:08:23 -05:00
justbur
052d95541d core: Improve spacemacs-buffer/goto-link-line 2015-12-11 02:25:22 -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
person808
e91002e0c3 Show quickhelp if no dotfile is found. 2015-12-09 01:16:20 -05:00
syl20bnr
539f066e9d core: remove debug message 2015-12-01 00:30:59 -05:00
Bar Magal
1a91e3ea14 Home buffer: make number of recent files configurable #2335
Fixes issue #2335
2015-11-15 12:33:23 +01:00
ralesi
dcf0c2bbc2 Inject emacs version along with spacemacs version 2015-11-02 00:42:57 -05:00
Fabien Dubosson
ecf35c25e6 Remove the code that reset the first line.
This part doesn't seem to be needed any longer. I tested it in terminal
and in GUI modes, both with spacemacs and spacemacs-base distributions,
both with and without a banner: No visual difference with and without
this code.
2015-10-22 21:46:34 -04:00
Fabien Dubosson
b1590c9071 Prevent spacemacs to overwrite clipboard at startup
Close #3457
2015-10-22 18:46:45 -04:00
Eivind Fonn
be06d945cd Fix Spacemacs buffer notes 2015-10-15 18:38:28 +02:00
justbur
c96183f56a spacemacs-buffer: Distinguish types of updates
Add a spacemacs update button to the spacemacs buffer, and relabel the
package update button to read "Update Packages". This will hopefully
resolve some confusion about updating spacemacs vs. updating the
packages.

I also tweaked the switch-to-version function to make it a little more
verbose to use it for the spacemacs update button.
2015-10-14 00:42:00 -04:00
syl20bnr
3c7ad38e4d core: remove dotspacemacs-verbose-loading
verbose is activate with --init-debug
2015-10-07 15:51:40 -04:00
syl20bnr
cd3fb97d3b Bump version to 0.105 2015-09-28 23:53:20 -04:00
syl20bnr
cd50d9c069 core: defer distro insertion in home buffer 2015-09-11 23:14:16 -04:00
syl20bnr
77161bd591 core: restore default mode line in home buffer 2015-09-11 23:04:01 -04:00
d12frosted
c43a8e958e respect setting startup banner to nil #2911 2015-09-07 14:26:33 -04:00
d12frosted
8440a380f2 fix setting custom banner path 2015-09-07 01:06:27 -04:00
Travis B. Hartwell
4c646a1a0c Fix Spacemacs Home Buffer to jump to bookmarks.
Instead of opening the file for the bookmark, use the bookmark-jump
function to properly jump to the file and location in the file.  Also
show the bookmark name and the filename in the list.

Fixes syl20bnr/spacemacs#2431
2015-07-30 22:22:56 -04:00
syl20bnr
7f8cf4564d core: home buffer, more robust centering of stuff 2015-07-29 22:07:27 -04:00
syl20bnr
cf682658c9 core: home buffer, always go to link line 2015-07-29 22:07:07 -04:00
sooheon
de9d1e72d5 Make spacemacs-buffer smarter about banner display
Allows banner setting of nil to still show buttons and changelog.
2015-07-29 21:39:08 -04:00
syl20bnr
794904adb0 Bump current version to 0.104 2015-07-02 00:53:44 -04:00
Tu Do
a785c44192 Fix home buffer keys in terminal
Currently, pressing TAB does not move to next widget. Similarly,
pressing RET does not run the button at point. Use `kbd` function to
properly convert to internal key representation in Emacs that is usable
in both GUI and terminal.

Also move the key bindings to spacemacs/keybindings.el since it's a more
suitable place.
2015-06-22 23:32:51 -04:00
person808
a573acaa33 Open VIMUSERS.org in view-mode from quickhelp. 2015-06-15 21:35:47 -04:00
person808
3ed0087cce Convert DOCUMENTATION.md to org. 2015-06-14 22:10:34 -04:00
Fandag
073c58ca2d Fix bookmark list in home buffer, clean shortcuts
bookmark-all-names returns a list of names, but
spacemacs-buffer//insert-file-list expect a list of filenames.

Shortcut definitions seems to be a mix of two approaches/commits.
Removed the unused bits.
2015-06-11 23:23:57 -04:00
Tu H Do
6cf5dd0bcc Improve Helm Spacemac Documentation further
Refactor spacemacs/open-file to spacemacs/view-org-file to correctly
reflect its functionality. In Emacs, view means read-only. Make the
anchor-text optional so we can omit when not needed. Also add
expand-scope that can be either 'subtree or 'all to open a tree at point
or expand everything. 'subtree is used for the Change Log while 'all is
used for all Spacemacs documents.

Currently helm-spacemacs//documentation-candidates grabs everything it
can in the doc directory. In the future we might put some images there
so better just choose the correct file type to include.
2015-06-11 21:31:42 -04:00
ptb
d875419792 Re-enable dotspacemacs-startup-banner nil option
Appears that commit 7a4a9724, disabled the dotspacemacs-startup-banner nil option.
2015-06-08 00:25:07 -04:00
person808
a572f2edee Add link to vim migration guide in quickhelp. 2015-06-07 23:04:16 -04:00
syl20bnr
d6717ccdbe Bump version to 0.103 2015-06-02 21:36:45 -04:00
jupl
7a4a9724a4 Improve support for images in Spacemacs banner 2015-05-25 23:35:47 -04:00
syl20bnr
3b1a4e328e Move release notes and quickhelp to core/info directory 2015-04-22 22:30:00 -04:00
Tu Do
c3f2a331d6 [Emergency fix] Don't add separator to the widget list
Otherwise when the widget list is deleted to insert new widgets, the
separator "widget" is essentially text with properties and can cause
error when trying to delete, which breaks quick help and release note
buttons, making the buttons not function anymore.
2015-04-21 16:52:23 +07:00
Keshav Kini
b3fbaeba7e Optimize macro and fix typo in its name
Move macro definition above calls thereto
2015-04-21 01:46:30 -04:00
Tu Do
8614f285d9 Add separator between Evil and Emacs tutor buttons 2015-04-21 01:44:41 -04:00
syl20bnr
2a57b0e16c Display release note 0.102.txt 2015-04-19 02:14:25 -04:00
syl20bnr
da952f66ba Tweak widget spacing and remove (recenter) instruction
The recenter cause the logo to be out of sight.
2015-04-19 02:11:04 -04:00
Tu Do
55f1207133 Improve Startup buffer
- Modularize and add quickhelp button
  Split the current hardcoded release note display functions into smaller
  reusable functions. Then reuse it for creating quickhelp button.
- fix: bind widget-button-click to left mouse click
  widget-button-press is for keyboard and binding it to a left mouse
  button is not suitable. The clicks on buttons are often ignored. Use the
  proper widget-button-click.
- Since this is develop, point it to 0.102.x
- Beautify org CHANGELOG
  Setting org-indent-mode hides the leading stars of all Org headers except
  the last one just enough to indicate indentation, which make it easier
  to read. Also, put it in read-only-mode so user don't accidentially mess
  up his reading material.
  Also put the CHANGELOG in view-mode for reading and navigating read-only
  content.
- Add Evil and Emacs tutorial buttons to quickhelp
  So it is even easier for first time users.
  Also refactor spacemacs-buffer//insert-release-note:
  - Change it to spacemacs-buffer//insert-note
  - Just insert content. Widgets are optional
  - Insert different widget from the two functions
    spacemacs-buffer//insert-quickhelp-widget and spacemacs-buffer//insert-release-note-widget
- Put the cursor on the quickhelp button
  So that users can start using it immediately. New users only knows RET
  to press a button and learn the rest there.
- Add m to jump back to top menu
  Also update the quickhelp content.
2015-04-19 02:04:42 -04:00
syl20bnr
197540b69d Add 0.102.x release note 2015-04-19 00:26:24 -04:00
Tu Do
e42a10fc95 Remove shortcut button labels 2015-04-13 23:02:57 -04:00
Tu Do
a8858b885b [Fix #1083] Improve functionality of Spacemacs shortcuts
Currently, `r` and `p` moves to different locations when the change log
text is folded/unfolded. Make it always jumps to the correct location
regardless of content of home buffer by actually search for it.

Also set keys to make home buffer usable with holy-mode.

Conflicts:
	core/core-spacemacs-buffer.el
2015-04-13 23:01:26 -04:00
Tu Do
d28fd1e3a2 Beautify home buffer
Add faces to buttons to make it look gorgeous.
2015-04-13 23:00:52 -04:00
syl20bnr
5fc6cd88cd Fresh install, don't display the release notes at the next restart 2015-04-13 03:35:05 -04:00
syl20bnr
cf2cfa14ae Remove shortuct on recent items header 2015-04-13 02:42:43 -04:00
syl20bnr
31b3cc7e9e Display startup release note only if a dotfile exists 2015-04-13 02:42:11 -04:00
syl20bnr
1722b93da5 Fix error loading non existing buffer cache file 2015-04-13 02:23:29 -04:00
syl20bnr
b0559c7f4d Startup buffer release note 2015-04-13 02:17:48 -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
Carl Lange
4c42247287 Add toggle change log (WIP) 2015-04-11 10:52:05 -04:00
syl20bnr
629fa56296 Add comment for previous commit 2015-04-10 20:28:37 -04:00
Diego Berrocal
de4b3cf60d S-Tab is interpreted as <backtab> in linux 2015-04-10 20:28:04 -04:00
syl20bnr
f72088e74b Add variable dotspacemacs-verbose-loading
By default to nil.
Can speedup the loading process.
2015-04-05 23:45:02 -04:00
syl20bnr
63f9e72495 New functions to display some text in a frame
spacemacs/insert-framed-text-to-buffer
spacemacs/insert-framed-text-from-file-to-buffer
2015-04-05 20:59:55 -04:00
Carl Lange
be4ea14d8e Widgets ui for spacemacs buffer, working nicely 2015-04-04 23:36:39 -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
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
f527c1c5ff Fix window-numbering duplicated mode-line indicator 2015-03-16 01:34:32 -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
0052466422 Add official logo to startup page 2015-03-12 23:55:38 -04:00
syl20bnr
c9e4864f50 Tweaks for mode-line display at startup time 2015-03-12 00:25:52 -04:00
syl20bnr
9faa1542cb Use mode-line as a progress bar 2015-03-11 23:46:37 -04:00
syl20bnr
a9aa68fff3 Improve robustness of image banner feature
Check for support for PNG image format
Fallback on text banner if the PNG file cannot be displayed or
the path is wrong
2015-03-08 22:09:09 -04:00
Emmanuel Touzery
4d0ace039a Ability for the user to specify a .png picture as a banner 2015-03-08 18:41:24 -04:00
Tristan Hume
b845775ef4 Improve Spacemacs buffer buttons 2015-03-02 18:44:57 -05:00
syl20bnr
97bb568360 Add variable dotspacemacs-loading-progress-bar
Default is t
2015-02-15 21:25:12 -05:00
syl20bnr
fef6d5a3cb if -> when 2015-02-14 23:41:51 -05:00
syl20bnr
b25c6ce4ee with-current-buffer to move point to link line of spacemacs buffer 2015-02-11 16:57:41 -05:00
syl20bnr
00c74b8580 Update startup buffer links with new [Rollback] action 2015-02-03 23:56:52 -05:00