Commit graph

289 commits

Author SHA1 Message Date
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
Vincent Zhang
c5739f3f14 Improve major-mode segment: add menus for major/minor modes. 2018-09-29 19:09:14 +08:00
Vincent Zhang
e4605cd361 Fix #30: adjust mode-line bars with font size. 2018-09-29 17:14:43 +08:00
Vincent Zhang
52243514af Fix #31: support input-method. 2018-09-28 16:31:33 +08:00
Vincent Zhang
92b5bf5c79 Fix #29: Handle project root is nil.
Exception: (wrong-type-argument stringp nil)
2018-09-26 17:20:04 +08:00
Vincent Zhang
f7a573906d Update vc state on modeline while selecting the window.
This might address this issue:
Modeline VC branch name not updating on magit-checkout.
In doom-modeline, only show vc state in active window, so
it makes sense to update vc state while selecting the
window, and it won't bring performance issue.

Refer to:
https://github.com/hlissner/doom-emacs/issues/826
3d8e81b7e1
2018-09-25 00:05:01 +08:00
Vincent Zhang
b020f8b0a7 Merge 712b775f36 (diff-0ce4da53ad0195d3b7cf5888417057de). 2018-09-24 22:56:57 +08:00
Vincent Zhang
a22a895b7b Fix: invalid shrinked file path when the file is not in a project.
Refer to
https://emacs-china.org/t/doom-modeline-doom-emacs-mode-line/6742/34?u=seagle0128.
2018-09-24 22:39:36 +08:00
Vincent Zhang
299ef87829 Update modeline while refreshing vc. 2018-09-24 21:41:10 +08:00
Vincent Zhang
c3b3f802e4 Fix: missing doom-modeline-project-root-dir face. 2018-09-24 17:55:19 +08:00
Vincent Zhang
d3248df48e Disable projectile mode-line segment.
Merge 7acece3e0b (diff-7c3c39ae74345187bff045ab23ca05bd)
2018-09-24 17:31:45 +08:00
Vincent Zhang
3d8e81b7e1 Delete doom-modeline-magit-post-refresh due to the performance issue.
Workaround:
Revert the buffers manually.
(setq auto-revert-check-vc-info t) brings the same performance issue.

Refer to:
https://github.com/magit/magit/issues/2687
https://magit.vc/manual/magit/The-mode_002dline-information-isn_0027t-always-up_002dto_002ddate.html
2018-09-21 00:40:48 +08:00
Vincent Zhang
32963f4d29 Set default height to 23. 2018-09-18 00:09:43 +08:00
Vincent Zhang
8c982b8c30 Fix #27: Visual block modeline indicator not shown. 2018-09-17 23:58:31 +08:00
Vincent Zhang
54c2824125 Slightly change evil-state. 2018-09-11 17:41:00 +08:00
Vincent Zhang
dcb106fb5f Fix: don't use doom-modeline-error which is defined in doom-themes. 2018-09-11 17:33:39 +08:00
Vincent Zhang
bc06fadfc7 Update package description. 2018-09-11 00:38:31 +08:00
Vincent Zhang
ac186eb7d2 Use when-let instead of when-let* since it's kept in Emacs 26.1. 2018-09-10 23:00:26 +08:00
Vincent Zhang
ac0372958b Show process status in all buffers. 2018-08-31 03:51:04 +08:00
Vincent Zhang
ad7c7ae7e4 Minor fix format. 2018-08-29 00:16:26 +08:00
Vincent Zhang
be0461a68c Minor fix for compatibility. 2018-08-28 23:54:03 +08:00
Vincent Zhang
4ef58cdba6 Minor fix main. 2018-08-27 00:12:13 +08:00