Commit graph

540 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
13b22bdecb Update truncate-with-project in README.
The new style `truncate-with-project' is ~3x faster than `truncate-upto-project'.
2018-11-18 04:02:02 +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
37eb515ef4 Update README. 2018-11-16 01:10:35 +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
Vincent Zhang
404e10708c
Merge pull request #41 from aminb/fix-require-subr-x
Fix: require subr-x (needed for when-let)
2018-11-11 00:57:55 +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
Vincent Zhang
fd5c985dc0
Merge pull request #40 from edkolev/master
Don't try to call anzu functions if anzu isn't installed
2018-11-09 21:48:45 +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
e9d4728b21 Update README. 2018-11-02 16:59:50 +08:00
Vincent Zhang
4f0c1b0fdf Fix #37: Update README for the performance issues on Windows. 2018-11-02 16:55:15 +08:00