Commit graph

195 commits

Author SHA1 Message Date
b6170773c6 feat(core): add configz install on the dotfiles cli 2023-11-04 16:59:11 +00:00
a90542e59d feat(shell): add the small procfile process manager in tmux
A Procfile runner for tmux. Each procfile will have its own tmux session
and each process will have its own window. This way you can use tmux to
attach view logs and also restart individual processes.
2023-11-04 09:05:08 +00:00
1f8b491825 feat(vim): add go to spec plugin
This will find the spec file that is associated to the current source
file.
2023-11-04 09:02:14 +00:00
77575fc2a7 chore(shell): add git find merge commit
This will output the git sha of the merge commit that a given commit is
part of. This can be used to get back to the pull request a commit was
part of. Or it can be used to help revert a hole changeset rather than
only one commit.
2023-11-04 09:00:05 +00:00
331e2ceaf9 feat(shell): add codeclimate wrapper
There are two wrapper scripts for running codeclimate locally in docker.
This script is adapted from their website. There is also a script that
will output the results in vimgrep format, so they can be easily loaded
into the quickfix list.
2023-11-04 08:54:02 +00:00
c6a4f619bf feat(vim): add some snippets for markdown and reviewing 2023-11-04 08:47:23 +00:00
11dc038c50 refactor(vim): update when the linters run
Move the linters to run on BufReadPost instead of BufEnter. This was
running the linters whenever a buffer opened, when jumping around
quickly with <CTRL-i> and <CTRL-o> this would cause the linters to run a
lot when there were not needed. Now were are only running them once when
the buffer is read from disk.

Adds a custom function that will add cspell to all of the filetypes.
This will then only run `try_lint` once to improve the performance. Now
neoformat has gone fully async. When calling `try_lint` one after the
other, the first processes were getting canceled.
2023-11-04 07:53:36 +00:00
ba4aca9636 feat(vim): add path completion to cmdline
This is actually quite nice. I use it all the time to be realy lazy and
type commands without capitalization.
2023-11-04 07:49:57 +00:00
6ba33108e2 refactor(vim): don't highlight search results
I have been using this quite a lot and have not missed the search
highlights. When this was on would alway search then use `:noh` to
remove all the highlighting.
2023-11-04 07:28:30 +00:00
2cf91cdb16 chore(shell): add a checkpoint commit alias
When working on the start of a project its nice to know what you are
changing. Or when you are working on a refactor having points to get
back to is nice. When we are done we can go and clean up the history so
it makes sense, for review, or just give our points more descriptive
messages and you don't need to brake your flow when coding.
2023-11-04 07:25:46 +00:00
61a294a255 feat(vim): improve markdown editing with long wrapping lines
In markdown I have long lines wrapping as we are often editing docs that
don't stick to 80 columns. This makes it hard to navigate with j and k
imposable to use becase is skips over the wrapped lines.

This now using gj and gk to navigate wrapped lines so j and k will act
naturaly and move down one "line" even on the wrapping.
2023-11-04 07:20:10 +00:00
a0c35f90b5 refactor(vim): move jest commands to use Run rather than run in process
The jest out put is quite hard to process. This points that were add
into the quickfix list where often incorrect. This is a bit pointless
and I would find myself running it again in the terminal to see all of
the output.

This will have todo until I can find time to create proper test runner,
I really don't like the look of any of the plugins available.
2023-11-04 07:09:50 +00:00
ed39483c40 fix(vim): force solargraph to use bundle exec
Solargraph is best used installed in your Gemfile, this will allow you
to use manage the versions by each project. This will ensure that we are
using the version in your Gemfile, not the one installed globally.
2023-10-15 15:46:01 +01:00
2d7ab84b3a feat(vim): add prr plugin for a better code review experience
Sets code folding of diffs and hunks so we can review hunks on there
own. This is good for larger pull requests, you can focus on the hunk
and not get overwhelmed by the rest of the code.

Adds a go to definition mapping for prr lines. This will allow you to go
straight to the line of code when reviewing a pull request. Seeing the
code in full context is really helpful when reviewing. You are then
there in your editor with all the linters and the LSP.
2023-10-15 15:40:41 +01:00
7e72f1f566 chore(vim): add some erb snippets 2023-08-21 10:30:24 +01:00
835d695ed0 feat(shell): add prr zsh plugin
This will use my directory structure to get the project namespace and
name for prr. This way we dont need to keep providing the extra info.
2023-08-21 10:30:24 +01:00
debce210d5 chore(vim): add binding to open current file in browser
There is some weirdness with `:GBrowse` where it will open the file and
line but only if the line / block is visually selected. This was too
many keystrokes so I added a binding to do it.
2023-08-21 10:30:24 +01:00
8fac40e82f chore(shell): add adr-tools to path if installed 2023-08-21 10:30:24 +01:00
84d3f4cafb chore: add a couple of rust test snippets 2023-07-17 07:03:53 +01:00
fe3f670b97 chore(vim): remove rescript lsp its all about clojure now 2023-06-02 18:04:21 +01:00
d196ed266b refactor(vim): update the LSP config to better support nvim dev 2023-06-02 18:03:31 +01:00
d23a017232 chore(vim): enable the treesitter playground 2023-06-02 16:57:17 +01:00
c6bf708f47 chore(vim): add treesitter plugin for running jest tests
You can now run Jest on different parts of our app and populate the
quickfix list with the errors. You can run the tests on

- The current tests under the cursor
- All the tests in the current file
- All the tests on the project
2023-06-02 16:53:15 +01:00
f205f1b2bf chore(vim): add taskfile plugin 2023-06-02 16:52:03 +01:00
23b34a3260 chore: spelling in git commit fix snippet 2023-05-16 19:33:24 +01:00
984aee9a44 fix(vim): split out document highlight and diagnostic float auto commands
This was an issue when editing files that don't have an lsp server. The
document highlight is only enabled for lsp's. This splits out the
highlighting and the diagnostic float into two separate auto commands.
The document highlight is now only enabled when the lsp is registered.

The diagnostic float is now enabled for all files. This is because the
the vim diagnostics are used for lots of other things like spell checking
and codelimate.
2023-05-16 19:27:45 +01:00
ed9b5c7db5 chore(vim): add stylelint for linting scss files 2023-05-16 19:26:27 +01:00
db07fa67ea chore(vim): enable ghost_text in completion 2023-05-16 19:25:51 +01:00
f7821ef42e feat(vim): add completion source name to completion menu
We have the kind of the completion item in the menu as an icon and the
name at the end. Now the end one has been replaced with the source name
so we can see what the completion item is and where it is from.
2023-05-16 19:22:45 +01:00
ed100f4824 refactor(vim): make the completion menu wider
Due to starting to learn clojure, I've had java classes popping up in
the completion menu. Because they are so long it needs to be wider so I
can see then.
2023-05-16 19:19:56 +01:00
762d3d6bb2 fix(vim): add cr to the end of open so it actually works 2023-04-25 21:14:52 +01:00
644a3bdc90 feat(vim): add ++p to the save file command
OMG this is AMAZING, it writes files and creates all the directories for
that file working the same as `mkdir -p`. I have honestly had a todo to
create a plugin that dose this on the before save hook for a long time.
Thank you reddit, and remember always read the manual `:help :w`!!
2023-04-25 21:06:05 +01:00
3070940cd1 feat(core): start on the clojure journey
Install all of the tools and config for clojure development. This adds
the first configz module that is not yet properly integrated and
automaticaly run with the `dotfiles` shell command.
2023-04-25 21:00:23 +01:00
894320aa4d chore(tmux): move themes to base16-tmux
This requires no extra config other than what I already have in the
base-16-shell. If this is installed then its automatically loaded.
2023-04-25 20:56:48 +01:00
765fccbf47 chore(vim): move ftplugin to be loaded after 2023-04-25 20:54:56 +01:00
9c5b1acaa6 chore(vim): update lua lsp to be lua_ls instead of sumneko_lua 2023-04-25 20:37:52 +01:00
bcab974cce fix(vim): cspell linter will now work with newer versions
There was a breaking change / bug fix to the cspell that caused the
error format to change.
2023-04-12 13:57:02 +01:00
584667ab3a feat(shell): add autoload and install or ruby versions via .ruby-version 2023-04-04 09:30:02 +01:00
7415d4e858 fix(zsh): move zsh init after path is setup
This is so the NVM_DIR is defined so the nvmrc plugin will work
correctly when loaded with zsh.
2023-03-16 21:01:35 +00:00
243a0aa497 feat(vim): make theme dynamic from BASE16_THEME use in the shell
Now when loading vim the them from the shell is getting used rather than
only every using tomorrow night. When I use tomorrow it will be
inherited in vim.
2023-03-16 21:00:50 +00:00
ce7b395e90 feat(vim): setup document highlighting and diagnostics on hover
Now when the editor is idle it will use the lsp to highlight other
references to the token under the cursor.

It will also show all the diagnostics in a popup like the lsp hover that
I manually use via <C-k>. This is helpful with long diagnostic messages
that run off the edge of the terminal when.
2023-03-16 20:48:12 +00:00
6c5b2573ae chore(vim): add co authored by snippet 2023-03-16 20:47:05 +00:00
456c7dfd73 feat(zsh): create nvmrc plugin
Custom plugin to check the .nvmrc file. When entering a directory, it
checks to see if you have the desired node version installed for the
current project. If it is, it will use it automatically, if not, then it
will ask you if you want to install it. After, it will install all the
JS developer tools for that version of NodeJS.

This is a different implementation than the default oh-my-zsh version.
The main difference is that it will not reset the node version when
leaving a directory. It will only preform an action if there is a
`.nvmrc` file in the current directory. It will not even use the
`nvm_find_nvmrc` command because any interaction with nvm make the
stranded `cd` command extremely sluggish.
2023-03-16 20:45:13 +00:00
cc49f5339e refactor(vim): simplify the tab behaviour in completion
The biggest change here is that I am no longer cycling though completion
items as the first thing. Tab will now mainly control the snippet jumps
in completion not items. Completion items can be used exclusively with
<C-n> and <C-p> and <CR> to complete the selected item. If the
completion menu is open and <CR> is pressed, this will select and
complete the first item.

I will soon be able to remove the <C-h> and <C-l> mappings when my
muscle memory adapts as this will now be controlled with tab.
2023-02-21 16:53:22 +00:00
a4e78a2c6a feat(vim): setup listchars so I can easily see whitespace and tabs 2023-02-21 16:50:54 +00:00
f56b6f95a2 fix(vim): swap out the BC in the cmp_nvim_lsp API 2023-02-09 19:44:18 +00:00
8849a1f277 chore(shell): change the layout of fzf commands
This is to keep things consistent with how I have ivy.nvim working in
vim. All fuzzy finding is now done at the bottom of the terminal with
the preview on top. This prevents the eyes to jumping up and down and
keep the focus to the bottom of the terminal.
2023-02-09 19:34:04 +00:00
80f044f1a0 chore(shell): migrate the shell themes to tinted-theming 2023-02-09 19:32:42 +00:00
2fedfbe6fc chore(vim): change default todo name to be my GitHub username 2023-01-20 08:27:35 +00:00
0598663b42 feat(vim): support nvim diagnostic popups for lsp
This has a better look and it makes all the hover popups look the same
from the linters to lsp.
2023-01-20 07:55:47 +00:00