Commit graph

410 commits

Author SHA1 Message Date
Vincent Zhang
b0342b30b6 Improve mouse-face for segments. 2018-12-09 02:11:23 +08:00
Vincent Zhang
2e65c9d06b Make doom-modeline-column-zero-based and doom-modeline-percent-position global. 2018-12-08 03:57:38 +08:00
Vincent Zhang
21637ad560 Fix #62: disregards value of column-number-indicator-zero-based.
Same as mode-line-percent-position.
2018-12-08 03:46:12 +08:00
Vincent Zhang
44a46a61cc Treat doom-modeline-def-modeline as a function. 2018-12-08 03:07:41 +08:00
Vincent Zhang
fef210416f Add help-echo and mouse-face to encoding and input-method segments. 2018-12-07 01:35:10 +08:00
Vincent Zhang
851ed76dc1 Bump version to 1.0.0. 2018-12-07 00:45:36 +08:00
Vincent Zhang
1de4baed59 Add help-echo and mouse-click for buffer file name. 2018-12-07 00:43:59 +08:00
Vincent Zhang
83731bca00 Add two enablers for persp-name and lsp segments.
See https://github.com/seagle0128/doom-modeline/issues/59#issuecomment-444842483.
2018-12-07 00:25:48 +08:00
Vincent Zhang
8a2e5ffbda Add help-echo and mouse-click for buffer position and size. 2018-12-07 00:17:29 +08:00
Vincent Zhang
f73eba86fa [Feature] An indicator for LSP state.
See https://github.com/emacs-lsp/lsp-mode/issues/479#issuecomment-443992922.
2018-12-06 03:26:27 +08:00
Vincent Zhang
8d6974bb65 Simplify minor modes.
Remove help-echo and mouse-click since doom-modeline-def-segment
doesn't support mode-line-minor-mode-keymap.

See https://github.com/seagle0128/doom-modeline/issues/59#issuecomment-444423882.
2018-12-06 02:45:22 +08:00
Vincent Zhang
4235da6465 Add new face: doom-modeline-buffer-minor-mode.
See https://github.com/seagle0128/doom-modeline/issues/59#issuecomment-444514463.
2018-12-06 02:12:17 +08:00
Vincent Zhang
9c6d00d3ab Add help-echo and mouse-click to persp-name segment. 2018-12-06 01:58:16 +08:00
Vincent Zhang
aa088e3f52 Fix: No definitions found for: xah-fly-insert-state-q. 2018-12-06 01:32:15 +08:00
Vincent Zhang
5fbb0291d6 Enhance flycheck segment: help-echo, mouse click. 2018-12-06 00:48:10 +08:00
Vincent Zhang
70049ac3bf [Feature] An indicator for xah-fly-keys state. 2018-12-06 00:08:10 +08:00
Vincent Zhang
9accf87eef Eliminate compiler warnings. 2018-12-05 23:09:11 +08:00
Vincent Zhang
84b2ab0abc Remove settings for projectile lighter.
See https://github.com/seagle0128/doom-modeline/issues/59#issuecomment-444423882.
2018-12-05 22:56:06 +08:00
Evgeni Kolev
d6550fafd5
Update file state icon after widening 2018-12-05 13:13:07 +02:00
Vincent Zhang
dbfdf1b0b0 Change faces of input-method segment. 2018-12-05 04:32:14 +08:00
Vincent Zhang
e032bb92c3 Fix error in input-method: (wrong-type-argument stringp nil). 2018-12-05 04:30:01 +08:00
Vincent Zhang
5836f0603c Minor change minor-modes position. 2018-12-05 03:59:13 +08:00
Vincent Zhang
420285ae5f Refactor segments. Only show global and input in active window. 2018-12-05 03:50:50 +08:00
Vincent Zhang
c0b5f1c0ab Fix #59: [Feature] Minor modes segment. Disable by default. 2018-12-05 03:39:07 +08:00
Vincent Zhang
e43da4a963 [Feature] A perspective name segment for persp-mode. 2018-12-05 02:38:36 +08:00
Vincent Zhang
e466611f68 Update formats of buffer-encoding. 2018-12-04 21:09:16 +08:00
Vincent Zhang
ac1605a92c Fix #57: [Enhancement] Display uniquified buffer names in help-echo. 2018-12-04 00:22:20 +08:00
Vincent Zhang
da9fa3ced2 Fix #56: Error when launching Gnus. 2018-12-03 15:24:25 +08:00
Vincent Zhang
1497e12b08 Fix #55: Projectile segment errors on a new clojure project. 2018-12-02 18:53:51 +08:00
Dominik Kellner
e697720c94 Fix calling `projectile-project-root'.
Depending on configuration, `projectile-project-root' raises an error if there
is no project available. This behaviour almost renders Emacs unusable outside
of projects as `doom-modeline-project-root' gets called upon every redisplay of
the modeline, which then causes the error.

This fix just ignores errors thrown by `projectile-project-root' and returns
`nil' instead, which is what we expect anyway.
2018-11-30 08:51:47 +07:00
Vincent Zhang
6975849702 Add function for minimal modeline. 2018-11-29 23:23:39 +08:00
Vincent Zhang
5b507e4b98 Format codes and comments. 2018-11-29 02:34:58 +08:00
Vincent Zhang
fac54da782 Fix #53: Shortening of remote buffers names. 2018-11-28 15:24:13 +08:00
Vincent Zhang
b0750259a3 Use when-let* for safer in symbol overlay panel. 2018-11-28 14:43:29 +08:00
Vincent Zhang
e7de8eef92 Ignore user errors in symbol overlay.. 2018-11-28 14:39:36 +08:00
Vincent Zhang
c48d10a6f9 Bump version to 0.9.0. 2018-11-28 02:50:50 +08:00
Vincent Zhang
88414e30e3 Support symbol-overlay in match panel. 2018-11-28 02:50:07 +08:00
Vincent Zhang
b755888f8b Address bad performance issue on Windows.
https://github.com/seagle0128/doom-modeline/issues/37
2018-11-28 01:35:55 +08:00
Vincent Zhang
36e081f912 Revert "Load hooks for anzu--reset-status immediately."
This reverts commit 752bb05e73.
2018-11-27 23:09:30 +08:00
Vincent Zhang
752bb05e73 Load hooks for anzu--reset-status immediately. 2018-11-27 23:02:48 +08:00
Vincent Zhang
01db5c1040 Fix compiler warnings. 2018-11-27 22:54:35 +08:00
Vincent Zhang
78b2e196f6 Fix #51: add FAQ in README. 2018-11-27 21:51:15 +08:00
Vincent Zhang
58eb5c3b55 Don't show state icon in inactive windows. 2018-11-27 18:13:13 +08:00
Vincent Zhang
6c941d824c Only check uniquify-buffer-name-style is nil or post-forward-angle-brackets. 2018-11-27 16:57:22 +08:00
Vincent Zhang
88a10968d1 Only show buffer names in inactive windows. 2018-11-27 05:54:36 +08:00
Vincent Zhang
e729389ab8 Fix #44 again. 2018-11-27 02:39:54 +08:00
Vincent Zhang
94b1aa2629 Enable major mode icons by default.
Already addressed the performance issue.
Should ensure `all-the-icons` is installed correctly.
2018-11-26 23:53:31 +08:00
Vincent Zhang
8e02bf5f58 Disable icons in terminal by default. 2018-11-26 23:01:03 +08:00
Vincent Zhang
8aeb80f32d Change faces of flycheck icons. 2018-11-26 14:09:22 +08:00
Vincent Zhang
bba86db87f Change icons position. 2018-11-26 14:06:44 +08:00
Vincent Zhang
fa840219a3 Revert "Adjust icons' position."
This reverts commit a95440341e.
2018-11-25 23:10:12 +08:00
Vincent Zhang
a95440341e Adjust icons' position. 2018-11-25 13:47:38 +08:00
Vincent Zhang
1ddf68939e Fix fold icon. 2018-11-25 03:33:24 +08:00
Vincent Zhang
9754dbe996 Fix typo. 2018-11-25 03:31:57 +08:00
Vincent Zhang
87f12fa662 Fix #50: Misplaced major mode icon. 2018-11-25 03:26:01 +08:00
Vincent Zhang
613684d383 Fix invalid icon family. 2018-11-25 03:06:34 +08:00
Vincent Zhang
336cab5ed4 Formalize the face of major mode icon. 2018-11-25 01:10:53 +08:00
Vincent Zhang
f244142693 Disable major-mode icons by default due to incorrect icons. 2018-11-25 00:56:48 +08:00
Vincent Zhang
d4973e2bc6 Optimize performance of updating buffer information (~2x faster). 2018-11-24 17:10:32 +08:00
Vincent Zhang
2b5a3b103e Display file icons by default. 2018-11-24 13:19:14 +08:00
Vincent Zhang
229366ffe5 Optimize performance of displaying file icons. 2018-11-24 13:18:33 +08:00
Vincent Zhang
0c9888c5b6 Refactor: Update vcs and flycheck segments. 2018-11-24 13:11:58 +08:00
Vincent Zhang
25fa66bb08 Fix #49: void-function file-local-name in spacemacs.
`file-local-name' is introduced in 25.2.2.
2018-11-24 12:18:41 +08:00
Vincent Zhang
969d001290 Update modeline after refreshing vc state. 2018-11-23 22:36:26 +08:00
Vincent Zhang
34c6f91d36 Fix #48: [Feature] show the icon for major mode.
New variable `doom-modeline-major-mode-icon' to control.
2018-11-23 01:13:52 +08:00
Vincent Zhang
b91e76b383 Fix #47: new style buffer-name, which respects uniquify names. 2018-11-23 00:12:36 +08:00
Vincent Zhang
364f5acb0b Fix: invalid path for remote files. 2018-11-22 05:07:45 +08:00
Vincent Zhang
a7643cf918 Add an indicator of remote host. 2018-11-22 03:59:39 +08:00
Vincent Zhang
d430859bf2 Add the roy-modal indicator. 2018-11-22 03:13:44 +08:00
Vincent Zhang
9acad7f3f4 Fix #46: God-mode indicator. 2018-11-22 02:48:59 +08:00
Vincent Zhang
69f3029c31 Bump version to 0.8.1. 2018-11-20 23:29:04 +08:00
Vincent Zhang
d27c5485ba [Optimize] doom-modeline-buffer-file-name for all truncate styles.
e.g.`truncate-upto-project' is ~5x faster.
    (benchmark-run 1000 (format-mode-line mode-line-format))
    ~0.7s vs ~4s

Also add 2 new styles: `truncate-from-project' and `truncate-except-project'.

Given ~/Projects/FOSS/emacs/lisp/comint.el
  truncate-upto-project => ~/P/F/emacs/lisp/comint.el
  truncate-from-project => ~/Projects/FOSS/emacs/l/comint.el
  truncate-with-project => emacs/l/comint.el
  truncate-except-project => ~/P/F/emacs/l/comint.el

NOTE: `shrink-path-file-mixed' has so BAD performance! Damn it!!!
2018-11-20 23:23:23 +08:00
Vincent Zhang
51ca9570a6 Fix incorrect colors of slash. 2018-11-20 22:28:28 +08:00
Vincent Zhang
345959763b Refactor: use internal variables. 2018-11-20 21:43:06 +08:00
Vincent Zhang
669206d03a Remove redundant slash \ in truncated directory. 2018-11-20 21:26:34 +08:00
Vincent Zhang
a530aaee04 Optimize performance of truncate-with-project style.
`file-truename` is bad performance, so should not used in the crucial function.
2018-11-20 21:24:24 +08:00
Vincent Zhang
700a0107f2 Bump version to 0.8.0. 2018-11-18 04:08:58 +08:00
Vincent Zhang
5fefd185b6 Fix: nil error if the buffer file name doesn't contain directory. 2018-11-18 03:39:35 +08:00
Vincent Zhang
87ee2e7122 Add truncate-with-project style and set it to default. 2018-11-18 03:26:00 +08:00
Vincent Zhang
7f28abb514 Improve faces of the buffer info. 2018-11-18 02:08:51 +08:00
Vincent Zhang
c809e27487 Don't update buffer info if the file doesn't exist. 2018-11-16 02:28:36 +08:00
Vincent Zhang
c7251193bb Fix: flash window number while re-enabling ace-window-display-mode. 2018-11-16 01:45:52 +08:00
Vincent Zhang
9df9260ab3 Fix: flash window number while refreshing this buffer. 2018-11-16 01:37:58 +08:00
Vincent Zhang
489a75ae49 Bump version to 0.7.1. 2018-11-16 01:10:43 +08:00
Vincent Zhang
9701be775c Revert performance optimization for buffer info.
Because the buffer info will be updated in many scenarios and no need to handle
all cases in hooks or advices.
But Keep showing buffer name if it doesn't equal the file name.
2018-11-16 00:53:52 +08:00
Vincent Zhang
f336f37efa Fix #44: Height problems with flycheck-mode on. 2018-11-15 23:32:47 +08:00
Vincent Zhang
6c151e7535
Merge pull request #45 from drrlvn/patch-1
Fix python-mode when executable is nil
2018-11-15 22:38:05 +08:00
Vincent Zhang
ab6ab18bc7 Hide buffer icons in inactive windows. 2018-11-15 17:24:00 +08:00
Dror Levin
82654eb6e0
Fix python-mode when executable is nil
Since executable-find cannot handle a nil argument then doom-modeline-python-executable should not be passed if it is set to nil.
2018-11-15 11:04:33 +02:00
Vincent Zhang
561560dfe5 Watch doom-modeline-buffer-file-name-style to update buffer info. 2018-11-15 16:05:38 +08:00
Vincent Zhang
781ce1b3c2 Only show buffer name in inactive window. 2018-11-15 15:46:23 +08:00
Vincent Zhang
d0c23229ec Optimize: get buffer info. 2018-11-15 14:35:57 +08:00
Vincent Zhang
8cf0646dc0 Remove unnecessary git-timemachine-mode-hook. 2018-11-15 14:13:50 +08:00
Vincent Zhang
a75f6f2ec8 Update buffer file name after renaming a buffer. 2018-11-15 03:40:21 +08:00
Vincent Zhang
09ed39a941 Compatible with git-timemachine. 2018-11-15 03:28:49 +08:00
Vincent Zhang
15a0a8a962 Fallback to buffer name if doom-modeline-buffer-file-name is nil. 2018-11-14 23:03:44 +08:00
Vincent Zhang
ef1ee6357c Show temp buffer name correctly.
That means the buffer exists but the file doesn't.
2018-11-14 22:40:20 +08:00
Vincent Zhang
44542191e6 Remove hacks. 2018-11-14 04:20:49 +08:00
Vincent Zhang
10b16b1386 Don't load doom-modeline after init time. 2018-11-14 04:17:56 +08:00
Vincent Zhang
4f0f761738 Refactor: doom-modeline-update-buffer-file-name. 2018-11-14 03:58:21 +08:00
Vincent Zhang
2b7ee7451f HACK: Compatible with loading `doom-modeline' after init time. 2018-11-14 03:00:21 +08:00
Vincent Zhang
25b04d5c40 Show buffer name if the buffer name doesn't equal the file name.
NOTE: Format: "buffer-file-name[buffer-name]".
Except the same buffer names in different directories.
2018-11-14 01:40:09 +08:00
Vincent Zhang
b6f98e4646 Update the buffer file name after reverting the file. 2018-11-14 01:35:24 +08:00
Vincent Zhang
e075339b2b Optimize performance.
(benchmark-run 1000 (format-mode-line mode-line-format))
From ~2.5s to ~0.5s!!!
2018-11-13 23:23:57 +08:00
Vincent Zhang
97d6b69222 Optimize the performance of getting the file names. 2018-11-13 23:00:39 +08:00
Vincent Zhang
fafdafc122 Format codes. 2018-11-13 19:35:17 +08:00
Vincent Zhang
6d7241050b Optimize project root detection. 2018-11-13 19:22:35 +08:00
Vincent Zhang
24dd81d9d5 Remove debug codes. 2018-11-13 13:29:22 +08:00
Vincent Zhang
813adefbfa Fix #42: refactor doom-modeline-project-root to avoid errors. 2018-11-13 13:24:14 +08:00
Vincent Zhang
f0e882dbe6 Bump version to 0.7.0. 2018-11-12 00:49:52 +08:00
Vincent Zhang
a9847abd3e Support projectile and project. projectile is optional now. 2018-11-12 00:48:20 +08:00
Vincent Zhang
3018171bc9 The project root detection is moved to projectile-ensure-project. 2018-11-11 15:39:48 +08:00
Amin Bandali
31b94e253a
Fix: require subr-x (needed for when-let)
Its absence results in a compile error when using borg-build:

    In toplevel form:
    doom-modeline.el:314:1:Warning: Unused lexical argument ‘key’

    In doom-modeline-set-modeline:
    doom-modeline.el:314:50:Warning: ‘(modeline (doom-modeline key))’ is a
        malformed function
    doom-modeline.el:322:22:Warning: reference to free variable ‘modeline’

    In doom-modeline-set-selected-window:
    doom-modeline.el:390:49:Warning: ‘(win (frame-selected-window))’ is a
        malformed function
    doom-modeline.el:393:41:Warning: reference to free variable ‘win’

    In end of data:
    doom-modeline.el:1249:1:Warning: the function ‘when-let’ is not known to be
        defined.

Which ultimately results in an error disrupting proper startup:

    Invalid function: (modeline (doom-modeline key))
2018-11-10 11:35:47 -05:00
Vincent Zhang
2812b1990f Fix: error while truncate the file without directory information.
Happen while editing org src code blocks. (:file test.py)
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  file-exists-p(nil)
  f-exists\?(nil)
  f-same\?(nil "")
  shrink-path-file-mixed("" nil "test.py")
  doom-modeline--buffer-file-name("test.py" "/Users/xxx/org/test.py" shrink)
  doom-modeline-buffer-file-name()
2018-11-10 17:26:54 +08:00
Evgeni Kolev
865bd6b8f2 Don't try to call anzu functions if anzu isn't installed 2018-11-09 14:44:36 +02:00
Vincent Zhang
1d372f0c82 Bump version to 0.6.1. 2018-11-01 00:11:31 +08:00
Vincent Zhang
81a782b1cb Eliminate compiler warnings. 2018-10-29 23:09:40 +08:00
Vincent Zhang
c60dd1279a Refactor evil-state. 2018-10-29 22:47:34 +08:00
Vincent Zhang
5dfe1deccb Reset anzu status after back to evil normal state. 2018-10-29 21:25:26 +08:00
Vincent Zhang
e3804b60ab Fix: ace-window-display-mode doesn't respect aw-ignore-buffers.
Refer to https://github.com/abo-abo/ace-window/issues/143.
2018-10-28 22:19:55 +08:00
Vincent Zhang
11327006cf Update mode-line after new or delete a frame. 2018-10-28 03:16:31 +08:00
Vincent Zhang
d97080620e Revert "Update mode-line forcely after making a new frame."
This reverts commit 6e30cfad01.
2018-10-28 03:07:54 +08:00
Vincent Zhang
6e30cfad01 Update mode-line forcely after making a new frame. 2018-10-28 02:51:18 +08:00
Vincent Zhang
cb1727d956 Fix: update ace-window parameter for all windows. 2018-10-25 16:57:17 +08:00
Vincent Zhang
c3a3af60b4 Remove warnings for terminal. 2018-10-25 16:21:25 +08:00
Vincent Zhang
ec92922a71 Bump version to 0.6.0. 2018-10-25 16:13:05 +08:00
Vincent Zhang
5aa211cf04 Enable all-the-icons in terminal.
Use doom-modeline-icon to enable/disable icons.
2018-10-25 16:11:03 +08:00
Vincent Zhang
6d9020c428 Refactor: window numbers of winum. 2018-10-25 00:56:09 +08:00
Vincent Zhang
9ca4edf710 Clean warnings. 2018-10-24 18:17:02 +08:00
Vincent Zhang
aa0e36fd66 Eliminate warnings. 2018-10-24 18:14:08 +08:00
Vincent Zhang
3d3c5c36c5 Support window numbers of ace-window-display-mode. 2018-10-24 16:23:07 +08:00
Vincent Zhang
bbda508825 Ignore winum operations for mode-line. 2018-10-24 15:38:44 +08:00
Pengji Zhang
7e6b895206 Fix an issue that may cause rhs disappeared
If the first element of a list is a symbol, the list will be a
conditional depending on the value of that symbol.
2018-10-19 17:33:18 -04:00
Vincent Zhang
1fd66c449c Reset anzu state when isearch is done. 2018-10-18 02:27:14 +08:00
Pengji Zhang
1a2226b242 Stop byte-compiling modeline format functions
Otherwise there will be a bunch of `Unused lexical var` warnings if
the file is not byte-compiled beforehand.
2018-10-17 12:03:29 -04:00
Vincent Zhang
ce206c5a7a Bump version to 0.5.1. 2018-10-15 20:32:28 +08:00
Vincent Zhang
9337faed5b Optimize: cache project root.
Refer to https://github.com/seagle0128/doom-modeline/issues/32.
2018-10-15 20:30:22 +08:00
Vincent Zhang
d8878379bc Update vcs faces. 2018-10-07 12:26:29 +08:00
Vincent Zhang
90ec30d868 Bump version to 0.5.0. 2018-10-01 23:14:48 +08:00
Vincent Zhang
9bb4a71ff8 Fix: focus-in-hook and focus-out-hook are obsolete in Emacs27.
Use after-focus-change-function instead of them as suggestion.
2018-10-01 23:13:23 +08:00
Vincent Zhang
8d6aba5b4d Merge branch 'master' of https://github.com/seagle0128/doom-modeline 2018-10-01 16:24:09 +08:00
Vincent Zhang
08b7d7621f Update faces of window and workspace numbers. 2018-09-30 21:42:41 +08:00
Vincent Zhang
e0acf3863d Refactor segment and modeline definitions. 2018-09-30 18:06:32 +08:00
Vincent Zhang
b70235290d Fix: inactive bar face.
DO NOT use :inverse-video in this face since face-background gets invalid color
from :reverse-video faces.
2018-09-30 17:02:27 +08:00
Vincent Zhang
677dc9ab2c Update workspace face. 2018-09-30 16:45:59 +08:00
Vincent Zhang
266cedffa9 Improve major-mode segment: add menus for major/minor modes. 2018-09-30 15:16:44 +08:00
Vincent Zhang
cd07d77c9f Update faces of windown numbers. 2018-09-30 00:23:07 +08:00
Vincent Zhang
671553d18d Put the bar to the left. 2018-09-29 22:58:24 +08:00
Vincent Zhang
fde317e967 Adjust mode-line height (25) and bar width (3). 2018-09-29 22:46:16 +08:00
Vincent Zhang
7f86ec193d Revert "Improve major-mode segment: add menus for major/minor modes."
This reverts commit c5739f3f14.
2018-09-29 19:21:19 +08:00