Commit graph

263 commits

Author SHA1 Message Date
22eda7e6ed feat(vim): use the lsp to format f# files
For formatting f# there really is only one tool, fantomas. The CLI for fantomas
has no input and will only do files. Ionide has built in support for fantomas,
we need some extra config to make this work because right now we are only using
Neoformat for formatting.

This updates the formatting function to format with the lsp only for f# files.
Anything else it will fall back to usign Neoformat. I am hoping that there will
not be many cases of this and we can continue to use Neoformat.
2024-09-24 19:53:46 +01:00
63edfe28ce fix(vim): reformat the linters and add extra eslint flags
Removes the complete override to the linters and add extra flags to the
existing args. This will now automatically get any updates made to the plugin
linters.

This also add the `unstable_ts_config` to the eslint command so we can use
typescript configs with eslint 9. I don't really know how this will affect BC
with version 8, I will have to cross that bridge when we come to it. ATM this
is good for daily use of version 9.
2024-09-12 16:31:27 +01:00
bed0f97bd7 feat(shell): add sa alias for sl amend 2024-09-04 19:12:55 +01:00
3f2964cfcb feat(vim): display clippy diagnostics on save 2024-09-04 19:11:57 +01:00
9ff18b1688 feat(vim): setup ivy.nvim in the config
This was an update that now it does not get configured by default you need to
call the `setup` function to make it work.

See: https://github.com/AdeAttwood/ivy.nvim/pull/81
2024-09-04 19:10:24 +01:00
7603040373 feat(bin): update pf script to use wezterm tabs
When the move from tmux I can no longer use pf to start processes from a
Procfile in a new session. This will do basically the same if we are not in a
tmux session and start all the processes in wezterm tabs in the same workspace.
This currently does not support closing the tabs, if this needs to be done you
can kill the hole terminal and start it again.

This also updates the script so you can pass in a file and it will use that
file. Previously it was hardcoded to `Procfile.dev`, now this is the default
however, can be overridden
2024-09-04 19:06:39 +01:00
6b939f0486 feat(term): move to wezterm mux from tmux
So this is the first commit where we are starting to migrate from tmux.
Right now I'm not sure how this will go, every other attempt has not
lasted very long.

This does support all the features I am using in tmux though. TBH most
of the stuff in the tmux.conf wezterm does by default. For example, the
pain numbers start at 1 not 0.

This implements a fork of tmux navigation, the plugin I have been using
in vim since like.... day one.
2024-09-04 18:20:25 +01:00
52a96193ad refactor(shell): move from docker-compose to docker compose
This has been on the cards to quite a while. I have been getting
reminders from work that I need to upgrade. I have also just had an
issue on one of my servers that resulted in using old versions and
silently failing.
2024-07-04 16:24:53 +01:00
4354948d88 refactor(vim): remove the ts-jest plugin
This was a plugin I had started writing and using for running jest tests
in a nvim buffer. This has now been split out into its own dedicated
plugin.

See: https://github.com/adeattwood/spec.nvim
2024-06-14 18:13:38 +01:00
6cbd7eb9ae feat(vim): add nvim-treesitter-textobjects
I have been wanting to play with this plugin for a long time now. I have
a minimal config that will give me most of what I need. Moving
parameters and arguments is a big one. Also selecting parameters, this
will also include the type definition so its much more powerful than
selecting words.

Jumping to functions has also been included, right now I am not sure how
much that will be used. My muscle memory is very used to <C-d> and <C-u>
for paging.
2024-06-14 18:03:07 +01:00
7dd2677d24 fix(tmux): set the actual name to the tmux plugin
This swap over should have really been tested more before pushing into
mainline. This is hopefully the last one we need to fix.

When I was playing around with the plugin I used a `git clone` this have
it the name of the repo "tmux" that was not very helpful when looking at
the plugins. I then renamed it when adding it to the dotfiles install.
However, I never changed the name in the config to load the plugin from
a different place.
2024-06-08 18:06:34 +01:00
a39b844c63 feat(sapling): display the pr link if we have already created one
When pushing your stack we show all the branches we have pushed to with
a compare link to github. When we create a PR the compare link is no
longer relevant. Now we will show a link to the PR that is associated
with that branch.
2024-06-08 18:00:16 +01:00
a5cd17fe58 feat(vim): add dev_case plugin for a better search and replace
When you are in a buffer sometimes you want to do a search and replace
but preserve the case. For example if we have the following code.

```rust
let some_struct = SomeStruct::new();
```

if we want to rename this to `another_struct` we can call dev case and
it will search and replace preserving the case. We can run the following
command.

```
:S some_struct another_struct
```

This will replace the above code so we will be left with

```rust
let another_struct = AnotherStruct::new();
```

This plugin handles calling the cli tool and displaying an in place
preview of the change so you can see exactly what you will be changing.
It uses the `S` custom command so it feels similar to the built in `s`
Substitute command.
2024-06-08 17:53:07 +01:00
78ba21f30d chore(vim): add some more of the busted globals 2024-06-08 17:50:56 +01:00
56bcdd34b3 refactor(core): move from base16 themes to nord
This is moves everything I can think of. A lot of the things I use have
this built in. The vim and tmux themes has been added so the place I
spend all my time looks nice.
2024-06-08 14:50:57 +01:00
f4d9e842ed feat(vim): add snippets for testing in lua and playwright 2024-06-08 14:12:17 +01:00
4b55548a96 feat(vim): implement lua go to spec
This add a pattern for all lua files that will go to the corresponding
spec files. I don't think this will work on all the different projects
but, its a good start. There may need to be some tweaking to make it
work in vim plugins.
2024-06-03 08:15:10 +01:00
5d68da6e36 feat(vim): add ftdetect for sapling commit files
They will now get the same filetype as the hgcommit. This is the
filetype they are based off.
2024-05-19 19:42:42 +01:00
6c7ea4aba6 feat(vim): use csharpier for formatting c-sharp 2024-05-19 19:23:40 +01:00
394fef39ff fix(sapling): run the bin sl not the alias 2024-05-19 19:22:25 +01:00
8fcf291c56 chore(vim): move back to eslint
All the issues have not been resolved with linting. Nvim lint is more
stable with its async linting.
2024-05-19 19:20:46 +01:00
dab35e8523 fix(vim): ensure run command open a new split
For some reason the Run command was no longer opening a new window. It
was just failing.
2024-05-19 19:18:46 +01:00
56b2b01f6f refactor(vim): move the cspell config to extend the builtin one
There have been some changes in the cspell config upstream to fix issues
in the cspell cli. These are mainly around the parsing of the output.

The only things my changes are adding in the file type and applying my
config file. They are only in the command not the parser.

Now we are using the upstream config and adding the extra params I need
rather than having to maintain a completely override.
2024-05-19 16:55:07 +01:00
521382ecb7 fix(terminal): disable wayland in wezterm
This is causing issues with losing the cursor, you then need to move the
cursor over another window to get it back.

On Gnome it is also not picked up but the window manager. You cannot
then using tools like wmctrl to reposition and resize it.
2024-05-03 07:52:49 +01:00
bda740caf7 fix(vim): disable hover in liquid files
This is causing the same issues as the other file types, when there is
an lsp attached but it dose not support hover for this filetype
2024-05-03 07:51:28 +01:00
1a0828b763 feat(vim): setup c# and f# languages 2024-05-03 07:32:09 +01:00
2450448b7e feat(sapling): add script to push up all bookmarks in a stack 2024-04-19 20:14:52 +01:00
3f3b98bf1b refactor(sapling): run addremove before committing
When running commit, any new file that has been created dose not show up
ready to be committed. I am running commit in interactive mode so it
dose not get committed automatically. I can then choose if I want to
actually commit the file
2024-04-19 20:04:37 +01:00
2b6097dc9e fix(shell): there seems to be a random dash in the fp command 2024-04-10 19:26:00 +01:00
29618280a1 feat(sapling): move to using the default log template
Previously we have move the templates in to the sapling config. Now we
can use that everywhere by default so everything looks the same.
2024-04-10 19:21:49 +01:00
38be0963c4 feat(vim): move to commit mono font
I think I will be installing this with the dotfiles soon.
2024-04-10 19:20:42 +01:00
b1746b0178 feat(vim): auto install treesitter grammars
Previously we were defining what ones we want to install. Now we are say
we want to install the grammar when we go to a file. If we don't have
that grammar installed then we will install it then
2024-04-10 19:17:42 +01:00
a1e089babb feat(vim): bump the priority of snippets in completion
I want the snippets to be the first thing in the completion when they
are available.
2024-04-10 19:12:59 +01:00
ad88b65474 refactor(vim): update the icons that show in completion 2024-04-10 19:09:24 +01:00
2f6e30fb53 refactor: start pulling out the prr config into a plugin
All the prr code review stuff will be in its own plugin soon. There are
some sweet features coming with a treesitter parser for syntax
highlighting.
2024-04-10 19:06:51 +01:00
1dfe088757 feat(shell): don't load base16 themes when useing WarpTerminal
I have started playing with this terminal and it has all its own themes
and base16 was getting in the way.
2024-03-02 18:25:12 +00:00
53a9a07bf6 fix(vim): add busted globals to the lua diagnostics lsp
When writing tests with busted they use some other globals that you need
to tell you lsp about. I already have this for when I'm working on the
nvim config and configz.
2024-03-02 18:22:29 +00:00
ff3b54d281 feat(vim): allow emmet to be used in liquid files
When using the liquid templating language I would like to use emmet
syntax to expand html.
2024-03-02 18:20:21 +00:00
cd382dbdf8 fix(vim): add --no-require-git to the ferret rg command
Now that I have mostly moved over to sapling, rg dose not ignore git
files by default. When searching in vim it would search in the
node_modules by default. As you can imagine this took for ever.

Now we are passing the `--no-require-git` flag so it will ignore any
file / dirs that are in any .gitignore by default.
2024-03-02 18:16:22 +00:00
e17f3f0e97 feat(terminal): configure wezterm titlebar so it looks nice
When using wezterm on wayland the gnome titlebar dose not get used. The
coloring of this is dark by default and dose not look good with a light
background.

Going forward I would like to configure this to adapt to the system
light or dark settings.
2024-03-02 18:13:33 +00:00
73ecb1604d feat(sapling): move log template into the config and add switch alias
When running other log command the template I had setup in `sl` was not
getting used. This has now been put into the config so its the default
template for any log command.

This also adds a quick alias to switch to another head. When reviewing
pull requests locally this helps quickly switch between heads.
2024-03-02 18:08:43 +00:00
5c87f2271b feat(sapling): enable all the commit snippets in hgcommit filetypes 2024-02-12 16:19:15 +00:00
e11deb18fd feat(bin): add script to run rspec when files have changed 2024-02-12 16:17:42 +00:00
7b1243035b feat(sapling): improve log
Change the included commits to be the full tree, no matter where you are
on the stack. There is the graphnode to indicate where you are with a
`@`.

Change the color of public commits so you can easily see what are your
commits on the stack. This makes moving around and rebasing easter when
you can see when your last public commit it.

Remove the hard 40 commit limit. Now we are getting the last 40 public
commits plus the commits on your stack
2024-02-12 16:10:23 +00:00
07fc786709 chore(sapling): add alias for diff and status 2024-01-29 20:43:02 +00:00
b91490e273 fix(shell): update prr to work with sapling so we can code review
When we are in a sapling repo `gh pr checkout` will not work. If this is
the case we wil need to export the PRR_NUMBER so we can skip getting the
PR number. Working with prr and sapling comes with following limitation.

You can only use the branch name. When git you can use the pr number,
url or the branch. Unfortunately so we can checkout we will need to use
the branch name.
2024-01-29 20:26:05 +00:00
617ba4f452 chore(shell): remove the android env stuff its never used 2024-01-15 19:27:36 +00:00
d7c7fa9914 feat(sapling): get everything setup 2024-01-15 19:26:48 +00:00
48a18162a0 chore(vim): remove async from the default test
We are now adding lints test that disable async tests that do not use
await in them. I am by far the biggest offender for this and this is one
of the main reasons. Now any test I write will be synchronous by default
until I need it to be async.
2024-01-08 17:38:38 +00:00
54bedf5588 feat(vim): add a couple of snippets for writing jest tests 2024-01-05 19:43:15 +00:00