Commit Graph

50 Commits (a51112c53988c327231dfdadb67a30dfc8b4725e)

Author SHA1 Message Date
olimorris a51112c539 refactor: telescope use vim event loop to load 2022-06-25 22:48:45 +01:00
olimorris 4e5b8b4a10 refactor: move load session to utils 2022-06-25 22:48:09 +01:00
olimorris 0c3c133a7f fix: #14 index a nil value while calling Telescope persisted 2022-06-25 14:45:35 +01:00
olimorris 3a5f182086 refactor: improved git branching 2022-06-25 14:07:00 +01:00
olimorris d093a835ef fix: #13 get last session saved 2022-06-25 13:06:51 +01:00
olimorris bf27016643 fix: #12 shift autoloading to the nvim event loop
A big shoutout to @simonmclean for this pull request. Previously we autoloaded a session file as soon as Neovim opened. The problem with this is that key plugins like LSP and Treesitter may not have been initialised. This would lead to syntax highlighting issues or LSPs not attaching to buffers in the session. Pushing this to Neovim's event loop via vim.schedule allows us to sensibly load the session after these key plugins. Fixing the tests was a little cumbersome as we needed to use plenary's async library but once figured out, we have some lovely robust async tests
2022-06-07 12:55:20 -07:00
olimorris 66f4405794 fix: vim.schedule causing issues with autoloading 2022-06-07 09:43:51 -07:00
Simon McLean 473c90bbb6
Wrap auto load in vim.schedule
I'm experiencing a bug whereby if I enable autoloading, I don't get any syntax highlighting on startup (until I trigger it with `:e` for example). I had the same issue with `persistence.nvim` (I made an auto command to get the same functionality). For both plugins, wrapping the call to `load` in `vim.schedule` solved the problem.

I don't really know enough about the inner workings of Neovim to explain this though.
2022-06-06 17:38:23 +01:00
olimorris 040cf43524 feat(telescope): #7 delete session files 2022-05-13 10:48:13 +01:00
olimorris db46d40d45 fix(telescope): #7 telescope layout with functions
Props to @ranebrown for the solution. This error occured when a user has specified a function for the width value in their telescope layout_config
2022-05-13 09:39:28 +01:00
olimorris 0c392ddb9f feat(telescope): #7 start adding delete feature 2022-05-12 20:18:08 +01:00
olimorris b778a4ebc4 feat: #11 after_source callback 2022-05-05 11:41:57 +01:00
olimorris 13dacbc880 fix: #11 lsp and autoload issue 2022-05-04 16:33:26 +01:00
olimorris 32610c4de6 fix: #11 lsp not working with autoload 2022-05-03 21:51:16 +01:00
olimorris d4c0ba339f fix: telescope extension not loading after close 2022-04-24 22:41:40 +01:00
olimorris 5b3525ad5e refactor: #7 improve telescope support 2022-04-24 12:58:11 +01:00
olimorris baa9c73818 chore: update README.md 2022-04-22 14:14:16 +01:00
olimorris 2345ac0682 refactor: change config option dir to save_dir 2022-04-22 12:45:30 +01:00
olimorris 5ad5f88e4b feat: custom autocmd for saving a session 2022-04-22 12:37:27 +01:00
olimorris 637e1a5d8f fix: #7 do not stop persisted after load 2022-04-20 09:25:58 +01:00
olimorris 48ecaa7c6e feat: #5 improve auto save/load pattern match 2022-04-20 09:19:56 +01:00
olimorris a156dd33c3 feat: #7 initial Telescope support 2022-04-19 22:21:06 +01:00
olimorris ba5f0ab091 fix: #8 autoload when neovim opened with arguments 2022-04-19 13:29:07 +01:00
olimorris 23151e4db6 fix: #6 error getting correct git branch 2022-04-05 22:48:02 +01:00
olimorris 6cefecd2bb fix: #4 use vim.o.sessionoptions 2022-04-04 22:59:36 +01:00
olimorris 0669d29f22 feat: allow/ignore dirs for save/load
This addresses #1 and allows the user to specify directories which the plugin will automatically save or load from. Alternatively, specify directories for which this behaviour will be ignored
2022-03-07 18:58:37 +00:00
olimorris b2e4162c74 feat: auto-load sessions addresses #3 2022-03-07 17:22:39 +00:00
olimorris 00fe043e8d feat: add command to save session 2022-03-07 13:06:58 +00:00
olimorris 0f642be4fa feat: add commands 2022-03-05 15:22:26 +00:00
olimorris ac24493128 feat: add before and after callbacks 2022-03-05 15:22:13 +00:00
olimorris 831caa7261 feat: delete current session
Mirroring the great pull request on persistence.nvim by @edementyev
2022-03-03 21:16:19 +00:00
olimorris 336909e742 chore: formatting with stylua 2022-03-03 21:15:37 +00:00
olimorris 8c3bc1791d feat: add toggle function 2022-01-21 16:38:00 +00:00
olimorris cbb601eaec chore: format code 2022-01-21 11:09:49 +00:00
olimorris e513dcd16c feat: add option to disable autosave
As per: https://github.com/folke/persistence.nvim/pull/4

Think is a useful feature to have as users may wish to manually trigger the saving of sessions
2022-01-20 15:24:31 +00:00
olimorris d9b386c618 feat!: use stdpath data instead of config
As per discussion on https://github.com/folke/persistence.nvim/pull/3.

Using stdpath('data') instead of stdpath('config') is more appropriate.
2022-01-20 15:24:31 +00:00
olimorris 9fd0958a19 chore: rename to persisted 2022-01-20 14:23:51 +00:00
olimorris 05247100ba fix: 🤦‍♂️ add back git branching 2021-12-24 18:52:15 +00:00
olimorris 0cd9bf7d67 chore: make code more terse 2021-11-16 20:03:20 +00:00
olimorris ff30e8b4cc fix: vim.fn.has('win32') returns 0 or 1, not a boolean 2021-10-24 19:55:22 +01:00
Oli M 082a52e999
Merge branch 'main' into main 2021-10-22 14:14:04 +01:00
3rdey3 83af96b1f2
fix: properly escape session file names on Windows (#7) 2021-10-22 13:25:52 +02:00
olimorris 76a994c185 Fix: use_git_branch in a non git repo caused error
Using `use_git_branch` in a non git enabled repo caused an error. This has been addressed by checking for the presence of a `.git` folder in the cwd. If no branch has been specified then we default to HEAD via the addition of `2>/dev/null` in our shell command
2021-09-08 17:01:06 +01:00
olimorris 2d6a222073 Add additional 'using_persistence' global vars
In further testing, it became clear that adding the global variables to the setup and start functions would be useful.

It also seemed to make sense to return boolean values to detect if Persistence has stopped (false) or is in active use (true).
2021-09-07 22:31:12 +01:00
olimorris f4e7632db2 Correct typos 2021-09-07 19:57:22 +01:00
olimorris e70b5e2fc8 Add ability to determine if persistence.nvim is running
In my statusline, I like to know if persistence.nvim is active. I have a simple helper function:

function using_session()
  return (vim.g.using_persistance ~= nil)
end

which I reference and display a corresponding glyph
2021-09-07 19:38:33 +01:00
olimorris 3d84264be5 Add ability to session based on cwd and git branch
This creates session files like:

%Users%Oli%Code%Projects%persistance_feature%add-git-branch-to-session

enabling you to segment your project directory by git branch
2021-09-07 19:37:26 +01:00
Folke Lemaitre a39f3f10c8
feat: added config options 2021-07-12 10:47:09 +02:00
Folke Lemaitre 38203a17a9 fix: renamed session to persistence in autocmds 2021-07-03 23:53:52 +02:00
Folke Lemaitre 8b32094309
feat: inital version 2021-07-02 08:55:37 +02:00