This uses different icons to try and make things look a bit more cool. The look
of vim is not something I have really been focused on however, I think it may
be time to spice things up.
This is a bit tricky due to the filetype of deno being typescript. The
typescript server automatically starts on this filetype.
For now this looks in the root of the project to see if there is a deno.json or
package.json. Based on this, it will pick what one to use.
When developing I often want to quickly swap between vim and a terminal. The
vim built in terminal does not really work for be. I prefer to use a proper
terminal.
Now you can quickly swap by pressing <LEADER-b> this is the same kind of
workflow I have in vim by using the <LEADER-TAB>
When using sapling I often use `HEAD...origin/main` to diff the current
changes. This replicates this so you can diff a commit with other changes and
or merge commits in it.
Soon we will probably be able to remove all the puppet stuff. I don't even have
it installed on new machines anymore.
You can now list and apply single configz to target updates or install separate
parts on different machines.
I am currently using the wezterm all the time now. This is working really well
and there should be no need for tmux. One day it may get removed, for now this
can be loaded when we need it.
When in org agenda mode you can't use the <space><space> leader to access all
the key beginning that has been setup up by general. I use this quite a lot to
quickly navigating to other notes or the email inbox.
This adds a hook to run after org agenda so the evil mode is normal not emacs.
This will allow the general keybindings to be used in that buffer.
Moves all of the tasks from Todo.org into any org-roam note file. All tasks
will then show up in the agenda and be able to be scheduled and searched just
like any other task we currently have in the Todo.org file. This is based of
the task management blog below. It will add a filetag to any file that has
tasks in it. This will then use only those files to build the org agenda so it
dose not have to search though every file in the roam database.
https://d12frosted.io/posts/2021-01-16-task-management-with-roam-vol5.html
The main difference from this blog is that it uses the `tasklist` filetag
rather than `projects` as the blogs. This makes much more sense for my use case
It also moves all the capture targets to the roam dailies so my main workspace
for the day is the daily note. This also moves the refile targets to be the old
Todo.org file. I will still be using this for the main backlog and any tasks
that don't need to be complete on that day. The current workflow I will be
using is capturing into the daily note. If I won't complete it that day, it
will either move to the next day or be refiled to be done on another day.
Yea thats it, we are bringing back the use of emacs. This is very much the "why
choose" way and using the correct tool for the job.
I have now gone back to emacs for all the productivity / notes related stuff.
Code will still continue to be in neovim. The developer experience nvim brings
is really nice, the community around plugins is amazing, you can really get
your work done fast. What it does not have is org-mode, this is the feature of
emacs and I would like to go back to using it.
Emacs has now replaced todoist, obsidian and gmail web client. Singularly, I
think these tools are on par if not better sometimes that the emacs
replacement. However, together with org-link, this is where the power is. Being
able to quickly capture tasks that link back to emails is supper powerful.
The org-mode stuff is generally the same. It uses evil mode, so my fingers
don't get lost, Doom to make it look good. All the key bindings are the same,
it's just ripped out all the code and language support. The only code related
package is company so I can get completion on the roam links just like you do
in obsidian.
Email is powered by notmuch. I said this replaces the gmail web client,
however, it's really a couple of other too. The main benefit over have this is
you can have one inbox for multiple accounts. Having a single list for your
inbox is a grate way to keep track of everything. This will org capture and org
links works perfectly with the inbox zero flow, having the ability to file
things away not lose track of them is really nice.
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.
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.
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
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.
Adds the auth helper to the config. This is used mainly for sapling so
we can push and pull to git repos. I need to run this after each time I
configure the system because this file is a template not a symlink
This was originally added with the `gh` cli tool running the following
command:
```bash
gh auth setup-git
```
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.
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
When using delta diff, you could not navigate the hunks of the diff. It
would only jump between file changes. This was due to the use of the raw
hunk header. It must not be included in the default `navigate-regex`.
I have updated the regex so it includes the default hunk patter so now
when you have in a diff and press `n` it will navigate the hunks as well
as the file changes.
When using nvim as a merge tool I had the files in the wrong order. It
was very confusing not having the local version in the middle and the
base and remote on ether side.
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.
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.
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.
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.
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.
This plugin will allow you to color a buffer with ansi characters. This
is good for when you want to dump the output of a command into a buffer,
you can do it with nice colors now too.
Sapling.nvim uses this for the log buffers. That is not installed with
our dotfiles, I will someday have a sapling provider for installing and
keeping plugins updated, for now I will keep it updated manually for
now.
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.
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.
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.
For the zypper install script, there was a spelling mistake in
`libopenssl-devel`, this is required for compiling configz.
On WSL git is not installed by default, this now installs it so we can
download the stuff.
In the conditions to see if packages are installed, there are no quotes
around the commands. This is then giving false positives and not
installing configz or the rust toolchain. This has now been sorted so
its all good.
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
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