Commit graph

358 commits

Author SHA1 Message Date
Marco Hinz 4f1cd14e94
Open all folds
Fixes #300.
2018-01-24 16:29:33 +01:00
Marco Hinz fbcba230e9
Refactoring: g:startify_custom_header 2018-01-14 17:30:26 +01:00
Marco Hinz c905a0c959
Rework the default skiplist 2017-12-06 20:11:16 +01:00
Marco Hinz cbb1b487d0
Add "plugged/.*/doc" to default skiplist
We have "bundle" already, so add "plugged" as well. These two are the most
commonly used directories for plugins.
2017-12-05 14:52:15 +01:00
Marco Hinz 17ef51a2d1
Set 'matchpairs' to empty
Use this to avoid weird highlighting of the `[` and `]` characters, if the
matchparen plugin is enabled.
2017-11-23 22:53:12 +01:00
Marco Hinz e6547e9887
Fix cursor setting code
This makes the local j/k mappings obsolete.

References #294, #156.
2017-11-21 22:18:41 +01:00
Marco Hinz 95d182979e
Use :SS! to force overwriting a potentially existing session
This can be used to avoid the following prompt when using :SSave

  "Session already exists. Overwrite?  [y/n]"

References #295
2017-11-21 20:13:48 +01:00
Marco Hinz 22ccf58613
Add covenience function for warnings 2017-11-02 20:29:48 +01:00
Marco Hinz 0c23b67dbf
Warn if :StartifyDebug is run outside Startify buffer 2017-11-02 20:24:23 +01:00
Marco Hinz ae8cfbb9db
g:startify_use_env: ignore $HOME
References #284.
2017-05-30 00:00:35 +02:00
Marco Hinz 367aec0966
g:startify_use_env: compare against absolute path
References #284.
2017-05-29 23:13:35 +02:00
Marco Hinz c60ebcc313
g:startify_relative_path: :.:~ -> :~:.
References #284.
2017-05-29 21:13:58 +02:00
Marco Hinz 1e251fb749
Fix g:startify_change_to_dir corner cases
References https://github.com/mhinz/vim-startify/issues/283
2017-05-07 20:05:50 +02:00
Samar Dhwoj Acharya 8abaf8ed9f Fix dir listing corner case 2017-05-03 09:45:17 +02:00
Marco Hinz 664ed502ed
Use vim-devicons only when it's enabled
References c193556225 (commitcomment-21866826)
2017-04-22 16:32:36 +02:00
Marco Hinz f80b0cbe62
Make <MiddleMouse> use "* instead of "" by default
Startify remaps <MiddleMouse> and uses v:register to paste from a specific
register.

The problem:

Unless 'clipboard' is set to "unnamed" or "unnamedplus", v:register will default
to "", whereas <MiddleMouse> usually defaults to "*.

Fixes #281.
2017-04-07 01:52:21 +02:00
Marco Hinz 2e89a6ec2b
Expand bookmark paths
Closes #275.
2017-03-13 15:53:25 +01:00
Marco Hinz 967ea449f5
Make <MiddleMouse> take register
References #272.
2017-02-22 21:08:07 +01:00
Marco Hinz 66d4500576
Make <MiddleMouse> paste in new empty buffer
References #272.
2017-02-22 19:48:42 +01:00
Marco Hinz 72c51e773a
New option: g:startify_session_number
Closes #268.
2017-01-20 20:11:32 +01:00
Marco Hinz b08d65a967
Make buffer readonly again
This time we pay more attention to when the buffer will still be written by the
plugin itself.

Note to self: Never commit after midnight.
2017-01-19 14:07:27 +01:00
Marco Hinz 42a317bc9e
Revert "Make buffer readonly"
This reverts commit 5c4ed4a34a.
2017-01-19 13:16:31 +01:00
Marco Hinz 5c4ed4a34a
Make buffer readonly
This is done to avoid accidentally saving the Startify buffer to disk.

For why Startify is not using buftype=nofile in the first place, see `:h
startify-faq-05`.

References #265.
2017-01-19 03:49:14 +01:00
Marco Hinz 579b106724
Make g:startify_session_delete_buffers = 1 the default
References #262.
2017-01-11 16:28:38 +01:00
Marco Hinz af521fa617
Fix s:sort_by_mtime()
Fixes #260.
2017-01-07 14:13:07 +01:00
Marco Hinz 28cfff5ba9
Sessions: filter foox.vim only if foo.vim exists
We used to filter all sessions ending with "x.vim", because of session extra
files. (See 10. in `:h :mks`.)

To avoid false positives, we now only filter a session "foox.vim", if there is
also an accompanying session "foo.vim".

References #259.
2017-01-06 00:36:58 +01:00
Marco Hinz 881246ed5c
Mappings: add s:nowait to j and k 2016-12-20 11:39:27 +01:00
Marco Hinz 3a1ed53393
Remove "wait" arg from s:register 2016-12-20 11:29:17 +01:00
Marco Hinz 685760fb69
Remove g:startify_mapping_nowait
This option got obsoleted by 07b122f.
2016-12-07 13:15:40 +01:00
Marco Hinz 07b122f7b4
Enforce mapping order when using <nowait>
Opposed to normal mappings, the definition order is important when using
<nowait> mappings.

Simple test case:

:enew | nnoremap <buffer><nowait> 1 :echo "foo"<cr>| nnoremap <buffer><nowait> 11 :echo "bar"<cr>

Then hit 1 in normal mode.

:enew | nnoremap <buffer><nowait> 11 :echo "foo"<cr>| nnoremap <buffer><nowait> 1 :echo "bar"<cr>

Then hit 1 in normal mode again.

References #252.
2016-12-06 21:57:49 +01:00
Nate c14a677496
Add g:startify_padding_left
Closes https://github.com/mhinz/vim-startify/pull/250
2016-11-27 02:39:09 +01:00
Marco Hinz df32cef08b
Enable g:startify_mapping_nowait by default
Closes #247.
2016-11-22 10:36:46 +01:00
Marco Hinz 9732427469 Don't silence system()
References #243.
2016-10-31 22:53:10 +01:00
Marco Hinz 150571becb Revert "Ignore "ln" errors"
This reverts commit 7b8f614b09.
2016-10-31 22:47:42 +01:00
Marco Hinz 7b8f614b09 Ignore "ln" errors
References #243.
2016-10-31 13:02:12 +01:00
Marco Hinz 7a2c7da36d Unsafe: filter directories
References #242.
2016-10-28 16:07:30 +02:00
Marco Hinz 9923657918
Two Startify buffers shouldn't share certain data (part 3) 2016-10-15 14:36:25 +02:00
Marco Hinz bd1ea1b347
Two Startify buffers shouldn't share certain data (part 2)
References #240.
2016-10-14 20:21:07 +02:00
Marco Hinz 3a0cc7df67
Two Startify buffers shouldn't share certain data
References #240.
2016-10-14 20:15:47 +02:00
Marco Hinz ab3513c8ea
Two different buffers mustn't have the same filename
Closes #240.
2016-10-14 19:37:51 +02:00
Marco Hinz 74471c5274 Windows: handle spaces properly
References #239.
2016-10-13 14:27:30 +02:00
Steve Dignam 98034672bb Disable colorcolumn in startify buffer
In a previous [issue][1] someone asked to disable colorcolumn, but it was
fixed with by disabling cursorcolumn in a [pull request][2].

Both should be disabled.

This change disables colorcolumn.

[1]: https://github.com/mhinz/vim-startify/issues/80
[2]: https://github.com/mhinz/vim-startify/pull/83
2016-10-11 17:57:02 +02:00
Marco Hinz cbcf3f2518 Only emit User event if there is a receiving end 2016-07-21 17:03:55 +02:00
Marco Hinz 84a296eb5c Session autoload: handle spaces in session path 2016-07-01 02:16:29 +02:00
Marco Hinz f41732a392 Bookmarks: consider delete_buffers option on session autoload
References https://github.com/mhinz/vim-startify/issues/231
2016-07-01 01:49:18 +02:00
Marco Hinz 41801d60cb Bookmarks: wipe directory buffers on session autoload
References https://github.com/mhinz/vim-startify/issues/231
2016-07-01 01:41:05 +02:00
Marco Hinz 1d73c869e9 Don't use fnameescape() twice on paths
References https://github.com/mhinz/vim-startify/issues/230
2016-06-27 15:56:58 +02:00
Marco Hinz dbaa025424 Too much escaping
References #227.
2016-06-08 11:53:27 +02:00
Marco Hinz 26cff271ef Silence options 2016-06-02 13:22:11 +02:00
Trevor L. McDonell 71a517c93c Disable spell checking 2016-06-02 13:12:53 +02:00
Marco Hinz 3bd270a3f2 New option: g:startify_session_before_save
Execute commands before saving the session. Useful for cleaning up.

Closes #222.
2016-06-01 17:43:19 +02:00
Marco Hinz cee51f4a9a New option: g:startify_session_sort
Sort your sessions by mtime by putting this in your vimrc:

    let g:startify_session_sort = 1

Closes #221.
2016-06-01 17:23:57 +02:00
Marco Hinz 54ee02272c Make n/N work properly
For caveats see:

https://github.com/mhinz/vim-startify/issues/218#issuecomment-222962221

References #218.
2016-06-01 13:12:44 +02:00
Marco Hinz 3c3a835d8d Check user options properly
References #220.
2016-06-01 02:13:55 +02:00
Marco Hinz 977ee633e5 Don't make Startify a scratch buffer
It's a real file buffer now, since that is what most plugins assume
anyway.

We also give it a proper name, "Startify", because after `buftype=` it
would be listed as "[No Name]" instead of "[Scratch]", which is arguably
confusing.

Closes #214.
2016-06-01 01:02:40 +02:00
Marco Hinz e5ce53fbef Make g:startify_commands more flexible 2016-05-31 23:38:29 +02:00
Ernst Widerberg 9a833c5bc6 Add ex command list 2016-05-31 23:38:29 +02:00
Xandor Schiefer b16c8353e5 devicons: remove parentheses around symbols 2016-05-31 17:30:58 +02:00
Marco Hinz 8512fa3b1c Always put cursor on first entry
References #212.
2016-03-24 12:42:07 +01:00
Marco Hinz 5a45174657 Transformations: fall back to normal usage if no match 2016-03-21 11:25:30 +01:00
Marco Hinz c381ab79fc Transformations: allow patterns
The type of g:startify_transformations has to be a list of lists now.
The inner lists contain 2 elements, a pattern and either a string or a
funcref.

Example:

function! s:foo(filename)
  return fnamemodify(a:filename, ':t')
endfunction

let g:startify_transformations = [
      \ ['.*vimrc$', 'vimrc'],
      \ ['.*', function('s:foo')],
      \ ]

References #209.
2016-03-20 15:37:22 +01:00
Marco Hinz 570ef9e11f Don't add blank line for empty custom header
Closes #210.
2016-03-20 14:21:56 +01:00
Marco Hinz ffb80ec99e Add g:startify_transformations 2016-03-18 16:59:24 +01:00
Marco Hinz 41b53389af Make q work with 'buflisted' set
References #208.
2016-03-17 12:47:25 +01:00
Marco Hinz f90594bb9a Eval g:startify_custom_header if it's a string 2016-03-17 11:44:33 +01:00
Marco Hinz 994a85ac22 Refactoring: fortune.vim 2016-03-17 11:05:36 +01:00
Marco Hinz fa733c3e20 Show random quotes if g:startify_custom_header isn't set 2016-03-14 15:29:20 +01:00
Marco Hinz 193e0802ec Redraw screen after env hack 2016-03-07 15:58:03 +01:00
Sergey Vlasov f610be1431 Avoid 'Press Enter' message on session write 2016-03-07 16:28:52 +02:00
Marco Hinz 23e043cc82 Env: prevent 'press enter' prompt in small windows (only Vim) 2016-02-15 16:14:36 +01:00
Marco Hinz d14150d22b Env: only run for the "files" listing 2016-02-13 21:23:24 +01:00
Marco Hinz de965726eb Env: prefer shortest variable name
If several environment variables point to the same directory, prefer the one
with the shortest name.

References #197.
2016-02-12 18:06:35 +01:00
Marco Hinz c621e375a1 Make g:startify_use_env work on Windows 2016-02-12 17:43:10 +01:00
Marco Hinz 9e4a159637 New option: g:startify_use_env
References #197.
2016-02-12 14:26:33 +01:00
Marco Hinz 57252a4a56 Check if to be deleted session even exists 2016-02-02 15:01:00 +01:00
Marco Hinz 7994cae378 Add :SDelete! 2016-02-02 14:54:58 +01:00
Marco Hinz ec24c42b5c Never list __LAST__ as valid session 2016-02-02 14:44:07 +01:00
Marco Hinz 1c1c3abb80 Tests: add session.vader 2016-02-02 13:35:34 +01:00
Marco Hinz 8545f6f553 Put last used session marker in session directory 2016-01-12 15:11:03 +01:00
Marco Hinz e75c49a339 Shorter section headers
Use shorter section headers and add the current working directory to the 'dir'
list.

References #193.
2015-12-27 21:10:07 +01:00
Marco Hinz 295fe7a09a Avoid '&&' in system()
I assumed that every shell would support '&&'. Apparently this is not the case
for Fish: it uses 'and'...

Anyway, the simple solution is to avoid cd'ing in the proper directory first
and just using absolute paths for ln instead.

References #165.
2015-12-11 15:51:08 +01:00
Marco Hinz 720299cbf5 Make potential warning less obtrusive 2015-12-11 12:29:44 +01:00
Marco Hinz b81dfa54b9 Ignore <nowait> before 7.3.1261
References #183.

Helped-by: @timss
2015-11-22 02:07:00 +01:00
Marco Hinz cc5989711b Fix nowait logic
References #188.
2015-11-20 13:45:40 +01:00
Marco Hinz 06ff991d7f Always shorten 'files' entries to "~"
..no matter if g:startify_relative_path is set or not.
2015-11-17 02:53:11 +01:00
somini 5b43cef057 New option: g:startify_mapping_nowait
This option forces the use of <nowait> mappings.

This might be useful if you have global mappings that start with the same
characters as indexes from Startify.

References #180
Closes #186.
2015-11-16 12:32:28 +01:00
Marco Hinz 80384d9c05 :SL without argument loads last session on Unix
References #181.
2015-11-14 02:18:03 +01:00
Marco Hinz 1f7b1ab4dc Make 'e' and 'q' also <nowait>
Reported-by: @Konfekt
2015-11-09 19:38:16 +01:00
Marco Hinz b817cab23f Remove <nowait> for index mappings
<nowait> guards against global mappings.

Problem: However, having 2 local <nowait> mappings, '1' and '11', makes no
sense, since it would always go with the former.

Solution: Remove <nowait> from all dynamically created mappings and keep it
for the fixed ones (i, b, v, ...).

If you absolutely need a <nowait> mapping for a non-fixed mapping, e.g. 'g'
(and because you use vim-commentary which maps 'gc'), see
":h startify-autocmd":

    autocmd User Startified nnoremap <buffer><nowait><silent> g ...

References #180.

Reported-by: @noscripter
2015-11-09 11:58:21 +01:00
Marco Hinz c193556225 Add support for vim-devicons
Closes #177.
2015-11-08 02:52:17 +01:00
Konfekt 295c02f926 Resolve symlinks in MRU filter
For example, OpenSUSE uses a `.../vim/current` symlink for `$VIMRUNTIME`. The
skiplist now resolves these to filter them too.

Closes #184.
2015-11-06 18:10:48 +01:00
Marco Hinz df8b4e1fde Support for custom indices for g:startify_bookmarks
g:startify_bookmarks now supports custom indices directly. E.g.

    let g:startify_bookmarks = [ {'v': '~/.vimrc'} ]

References #176, #178.
2015-11-03 22:39:58 +01:00
Marco Hinz 0bb969178d Do not filter bookmarks anymore 2015-11-03 17:31:05 +01:00
Marco Hinz 61c1e360c8 Custom indices overwrite plugin mappings
References #178.
2015-11-03 16:01:23 +01:00
Marco Hinz ff4732bb30 Ignore <session>x.vim files in session path
These files can be used to set up additional things for a session and have to
be placed in the same directory as the session file.

See point 10 under `:h :mksession` for more information.

Since they are no real session files, Startify shouldn't list them either.

Closes #179.
2015-11-03 15:25:25 +01:00
somini 97b4e225be Improve mappings
This sets all the created mappings as `nowait`, meaning having global
mappings will still allow you to jump to a file instantly.

For example, if you have a commentary plugin and define a global mapping
of `gcc`, you can't use `g` without waiting (or clicking Esc right
away).

Closes #180.
2015-11-03 13:27:04 +01:00
Marco Hinz 6f886cdc48 Make window sizes equal 2015-08-20 09:32:19 +02:00
Marco Hinz 7f76635fce session_write(): error msg instead of exception
References #174.
2015-08-14 11:59:26 +02:00
Marco Hinz 695121f065 Change skiplist default + improve docs
Thanks for the feedback, @Osse.
2015-07-06 18:53:46 +02:00
Enrico Ghirardi 2ae8a96633 Use blackhole register when removing lines
During session save, when removing lines, we don't want to store the content
in the unnamed register, takes more time and changes clipboard content. Just
use the blackhole register.

References #167.
2015-06-12 19:48:03 +02:00