Commit graph

340 commits

Author SHA1 Message Date
4742f38122 refactor(core): move the zsh module over to configz 2023-11-25 11:31:26 +00:00
fe53b83ca9 chore(shell): enable vars to base16 shell
This is to get base16-shell to create config files for common
extensions. The one I would like to use the most is delta.
2023-11-25 10:50:43 +00:00
da223e930d style(core): run stylua 2023-11-24 08:01:34 +00:00
0fa7e58c98 feat(vim): have a play with marksman the markdown lsp 2023-11-24 07:54:33 +00:00
47688aa2b0 chore(vim): add ruby linters 2023-11-21 07:40:51 +00:00
ca4f0019a8 feat(vim): add the oil file management plugin
This is the plugin I have been using for a while now. I think its much
nicer to use than a tree style. Treating the filesystem as a buffer is
something I used in emacs and have come quite used to.
2023-11-20 08:03:03 +00:00
bfe83d49f4 fix(vim): only register linters when there is an executable
This is mainly for stylelint, I don't always have this installed and it
throws an error when you open a sass file and it tries to lint the
buffer. Now it will not know about any linters unless they are in the
PATH.
2023-11-20 07:57:34 +00:00
7f95ee24f8 refactor(vim): move to eslint_d from eslint
Eslint has become slow for some projects for reasons unknown. In an
attempt to speed up my linting process, I'm experimenting with eslint_d,
which keeps a process running. For the time being, I'd like to keep
linting and formatting separate from the Language Server Protocol (LSP)
to avoid the need to install every LSP. This way, I can have `shfmt`
without the bash LSP, for example.

For JavaScript, I may consider moving this into an LSP since I use it
for work, which would justify combining responsibilities. However, for
now, I'll be giving eslint_d a try.
2023-11-08 07:56:41 +00:00
4cffec6e7f chore(vim): remove indent-line, orgmode, and conjure
Indent Line is no longer in use; it's quite an old plugin, and there are
likely better ways to implement this functionality. For now, I won't be
using any indent markers, and we'll see how that goes. If I encounter
issues, I will explore alternative plugins.

Orgmode was an attempt to bring over the knowledge base from Emacs. Vim
doesn't have the same workflow as Emacs, and everything is less tightly
integrated into a single application. I have now transitioned to using
Markdown and Obsidian, focusing on the more widely-used Markdown
integration.

Conjure is too heavy for my needs. All I require is a simple plugin to
execute Clojure in a REPL. This plugin conflicts with many other plugins
and filetypes, where the LSP (Language Server Protocol) should handle
most of the heavy lifting. I've created my own plugin for my very basic
use case.

See: https://github.com/AdeAttwood/nrepl.nvim
2023-11-08 07:43:50 +00:00
82d2b12659 feat(vim): add the first impl of the ollama pluign
The Ollama plugin provides a simple way to interact with an Ollama
language model from within Neovim. It uses as many of the built in
features as possible like buffers, tabs and markdown. This will make
this as small as possible so you don't have to install plugins with
loads of features you don't use.
2023-11-06 08:34:24 +00:00
8a813aad8f chore(shell): add github shortcut so it shows shorter in the prompt
In the shell prompt when you were in a directory it would commonly be

`~s/github.com/AdeAttwood/Dotfiles|branch ⇒`

This mapping will shorten this down to try and make the prompt a bit
less intrusive when in a subdirectory of a project.

`~gh/AdeAttwood/Dotfiles|branch ⇒`
2023-11-06 08:30:42 +00:00
540b5b0c72 feat(vim): finally commit the copilot config
I have been using this for quite a while now. This add the copilot
plugin and the intergration with nvim-cmp
2023-11-05 18:09:41 +00:00
b6170773c6 feat(core): add configz install on the dotfiles cli 2023-11-04 16:59:11 +00:00
447563c596 feat(pp): move the tmux config over to configz 2023-11-04 16:52:32 +00:00
8d56ef0940 feat(shell): let the delta theme be defined by base16-shell
When using light and dark theme I had to keep changing the git config so
git diff was readable. I have found that base16 shell has built in
support for delta so we can remove this config and let base16 shell deal
with it.

See: 9706041539/hooks/base16-delta.sh
2023-11-04 15:23:57 +00:00
8a021a6e0a feat(pp): migrate the nvim config over to configz 2023-11-04 14:39:58 +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
7940bd4b94 fix(pp): syntax error that was preventing a install
This show how much I am updating the vim plugins as all that. Should
probably put something in place to sort this out.
2023-06-02 18:00:55 +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
d1fe1f3c87 feat(pp): update delta diff 2023-02-09 20:22:40 +00:00
841e8f99bb chore(pp): update the mkcert version 2023-02-09 20:06:12 +00:00
077bd8ef3e feat(vim): update the base16-vim theme to tinted-theming 2023-02-09 20:05:36 +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
eb1660d9e1 refactor(pp): remove the ssh config
I am not jumping into other machines to work anymore so there is no need
to manage the public keys anymore.
2023-02-09 17:17:59 +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
64483f8cf6 feat(vim): add the rescript lsp 2023-01-20 07:55:11 +00:00
afb09f2436 feat(vim): better snippets
This moves all of the snippets into a yasnippet file format so I can
better manage and edit the snippets. I did not like having them all in
one file stored as strings.

This implements a custom file parser that will convert the snippet file
into a luasnip parsed snippet that uses the LSP snippet syntax.

It also ports over some of my most used snippets from the emacs config,
maybe one day I could share the snippet in vim and emacs.
2023-01-20 07:44:05 +00:00
45802a67ce chore(vim): move back to the base16-tomorrow-night theme 2022-12-22 20:43:06 +00:00
615413d6e2 style(vim): add lua style and luacheck and format lsp config again 2022-12-22 20:41:30 +00:00
2670607006 refactor(vim): update the lsp config
Remove old servers that don't get used any more. Move config into a
table for better visibility on what servers are installed and their
configs.
2022-12-22 20:38:56 +00:00
3e4a265578 style(vim): format lsp config 2022-12-22 20:12:50 +00:00
42da517d5d chore(pp): comment out gem packages for now
This is not working correctly when ruby is installed with RVM. It will
need some debugging that will need to be done another time.

For now the only one getting use is puppet-lint, if this is not found it
can be installed when need.
2022-12-22 19:58:10 +00:00
6b8cc6b420 feat(tmux): add popup window switcher
This is a script that will popup a window with a list of windows in a
fzf promp. When selected the window will be focused. If the window is in
another session the session will also be switched and the window focused
2022-12-22 19:56:02 +00:00
3d387e4552 feat(vim): add term script back in from the history
This is from the dotfiles a long time ago, its still in vimscript, don't
think I will ever convert it over to lua.

This also disables base16 shell when the terminal is running inside vim
like I am doing with emacs.
2022-12-03 16:50:31 +00:00
490cd76629 refactor(vim): remove exit after run command
I am finding my self wanting to view the output of command nowadays,
rather then wanting to run a quick command and see if its passed or not.
By removing the exit at the end of the command the terminal dose not
close now. If I want the terminal to close I can still append the
command with `&& exit` when using `Run`
2022-12-03 16:14:29 +00:00
d04bc93c9d feat(vim): add codeclimate plugin 2022-11-15 20:38:14 +00:00
e93f9864b5 feat(vim): override the cspell linter for better integration
This will now use a custom config file `$HOME/.cspell.json` that will
use a custom dictionary for my own words. This will have things like my
name so cspell stop telling me I spelt my name wrong.

Will also add the `--language-id` flag with the current filetype, so it
can match language specific words.
2022-11-15 20:08:40 +00:00
0506dd4842 feat(vim): split out and refactor format on save so it can be toggled
This is off by default and will need to be turned on when developing on
code that will need to be formatted on saving.
2022-11-15 20:05:39 +00:00
e7897fc7e0 fix(vim): add binding to jump between snippet placeholders
Currently it is set up to use tab to jump between placeholders and go to
the next completion item. This is causing conflicts when typing
variables in the snippet placeholders.

Now you can use <CTRL-h> to jump to the next placeholders. This is only
available when the completion is active so, dose not conflict with
switching windows.
2022-10-01 11:44:37 +01:00
67f15d126d chore(pp): go dark mode
Really need to find a way to switch between light and dark mode.
2022-10-01 11:42:10 +01:00
aab25b20e0 chore(vim): remove compile of command-t
I think this will soon be replaced with ivy.nvim
2022-09-08 21:10:52 +01:00
c810abd159 chore(shell): add some more path setup 2022-09-08 21:09:07 +01:00
6808cf40b2 fix(vim): remove treesitter for indenting and go back to native 2022-09-08 20:53:32 +01:00
04a4d88c3c feat(vim): add the rust_analyzer lsp 2022-09-08 20:52:59 +01:00
12c916817a fix(vim): remove conflict keymap for lsp
This keymap is conflicting with switching windows up. This is baked into
my workflow with tmux navigator and vim
2022-09-08 20:50:59 +01:00
0dd4a191a1 feat(vim): style the completion better
This also keeps it a consistent width so it does not keep jumping
arround. We are also using nice nerd font icons without using `lspkind`
2022-09-08 20:45:35 +01:00
4274d31d39 chore(vim): move lint code into the lua lint file
This was not working on for some reason in vim script
2022-09-08 20:43:59 +01:00
ee7def9362 chore(vim): change the default tabstop to 2 from 4 2022-09-08 20:42:08 +01:00
cd9b06d987 fix(vim): ensure new split are make in the correct direction
vsplit  This is created to the right of the current window
split   This is made below the current window
2022-09-08 20:39:10 +01:00
6cd434f0a9 chore(vim): new theme to match the tmux prompt 2022-09-08 20:35:59 +01:00
6ffb547907 feat(tmux): time for a long overdue new theme 2022-09-08 20:30:35 +01:00
76e05f928c fix(vim): treesitter highlighting to org files
The treesitter plugin for org files was getting setup after the org
plugin was loading, this is throwing errors when trying to view or edit
org files.

Now the plugin order has been changed so it all works correctly
2022-07-31 20:43:31 +01:00
5103be7421 feat(vim): get emmet to load for erb files 2022-07-31 20:42:11 +01:00
6ba17a7e36 feat(vim): add vim-fugitive and vim-rhubarb plugins 2022-07-25 20:56:59 +01:00
442232ed0d chore(pp): fix formatting 2022-07-25 20:07:53 +01:00
ac1be9cab1 refactor(pp): have a good think about the package that get installed
This has not been reviewed for quite some time, and things linke
filezilla as getting installed.
2022-07-25 20:01:40 +01:00
1f9440bd30 feat(vim): add solargraph lsp to start the ruby stuff 2022-07-25 20:00:49 +01:00
f11697bf39 chore(vim): remove command-t from loading start using ivy.nvim 2022-07-25 19:59:59 +01:00
9424d2c09f fix(zsh): make editor nvim
The alias from vim to nvim dose not work when using `git commit`
2022-07-25 19:57:33 +01:00
ec470f93db fix(vim): lint files when we open buffers
Currently they are only getting saved when you save buffers. I was
missing errors when jumping around because the files do not get saved.

This will now show me the errors when the buffer opens not only when the
buffer is saved and I get to see linting errors when jumping around a
codebase.
2022-07-25 19:57:00 +01:00
b97ece9419 chore(core): remove ubuntu.startup file
This is legacy for fixing terminal colors in when using urxvt term on
unity. This has not been a problem since using base16 term colors.
2022-07-25 19:57:00 +01:00
0701476af3 feat(pp): add delta diff tool 2022-07-25 19:56:56 +01:00
e9bfc19b22 chore(git): configure delta to have a light theme 2022-07-25 09:59:37 +01:00
Ade Attwood
2085bcb5fb feat(vim): enable lua support with linting and the lsp 2022-07-10 21:14:19 +01:00
Ade Attwood
68c1b1ba32 chore(vim): add mapping to exit completion
This is when inside a snippet the tab get taken over by the completion
menu, you can then not jump to the next mark in the snippet.

Now you can use <C-e> to close the completion menu and tab will then
jump to the next mark in the snippet.
2022-07-10 21:11:42 +01:00
Ade Attwood
110b609a26 fix(vim): change wildignore to CommandTWildIgnore setting
Use the CommandTWildIgnore insted of the wildignore so I can still get
completion for :e in folders like vendor or node_modules but, they will be
ignored from command-t file searches.
2022-07-07 19:54:49 +01:00
Ade Attwood
db5f19471e feat(vim): add in the old run plugin
This is for quickly running command in a terminal from within vim
2022-07-07 19:50:31 +01:00
Ade Attwood
73bd21a464 chore(pp): change oh-my-zsh package location from there rename 2022-07-07 19:49:27 +01:00
Ade Attwood
42e3ec99e4 chore(pp): remove alacritty terminal install
Now I am using the builtin terminal, simple-terminal or mate terminal
for ubuntu.
2022-07-07 19:42:18 +01:00
Ade Attwood
3c44bfada0 chore(pp): remove vscode settings
This is getting hard to manage cuz the settings.json is always changing
with different things I am playing with. The main editor is vim or
emacs, vscode is just a text editor for using multiple cursors.
2022-06-12 20:59:56 +01:00
Ade Attwood
1881ac53ca fix(git): ensure the git editor is nvim not vim
Aliases apparently don't work in the .gitconfig
2022-06-12 20:48:46 +01:00
Ade Attwood
7240bda30e fix(pp): change git urls from 'git://' to 'https://'
The 'git' schema no longer works git repos no longer get cloned
2022-06-12 20:44:21 +01:00
Ade Attwood
c281311657 feat(vim): start moving back 2022-06-12 20:25:17 +01:00
Ade Attwood
a533f76a3c refactor(emacs): update terminal prompt and enable goto-address-mode
Update the terminal prompt so you can step forward and backwards though terminal
props using vims `[[` and `]]` that is included in evil-mode.

Enable goto-address-mode in the terminal so I am click on and open urls in the
browser from the terminal. This is most used for opening create merge requests
links when pushing commits to a branch.
2022-04-25 19:50:13 +01:00
Ade Attwood
7cb0fc34a8 fix(emacs): misspelling in rjsx-mode making tree sitter not load 2022-04-25 19:45:10 +01:00
Ade Attwood
86bf86d201 chore(shell): remove nvim plugin
At this point there is a very little I am using of oh-my-zsh. I think it could
be worth looking at removing it and build my own git module based on the
oh-my-zsh one
2022-04-09 07:59:05 +01:00
Ade Attwood
9baabb8b1b feat(emacs): add html via web-mode to fmt-mode 2022-04-09 07:56:27 +01:00
Ade Attwood
e92e803761 chore: go back to the dark theme 2022-04-09 07:55:38 +01:00
Ade Attwood
5d825446cc feat(emacs): add status icons to compilation notification
When the compilation notification displays it will now show an icon with the
result of the compilation.
2022-04-09 07:50:34 +01:00
Ade Attwood
a28ec75358 chore(bin): add the script to update the dotfiles
For some reason this was not added to the repo
2022-04-09 07:48:08 +01:00
Ade Attwood
66bfdd39b7 refactor(emacs): remove doom-themes and to full base16-themes
This would switch between 'doom-tomorrow' for use with the GUI and
'base16-tomorrow' when using the terminal. Previously the base16 themes has some
issues with GUI emacs and doom was much better. However, since a913143ee when I
forked base16 I have been making small tweaks and don't use the doom themes any
more.

This is now time to remove them and go full base16
2022-03-13 20:43:53 +00:00
Ade Attwood
70b3d16a4b fix(emacs): sort out language tool this was just not working 2022-03-13 20:42:44 +00:00
Ade Attwood
4760acc065 feat(emacs): rebuild format.el
This is the first implementation of the fmt-mode built with 'reformatter'. This
removes the CLI tool that was calling all the different formatters and replaces
it with an emacs mode.

The CLI tool was an attempt to create a common CLI tool to format code. In
reality this just became hard to maintain and was only ever used in the emacs
formatter. To format code in the CLI I was just using the upstream tools.

See: https://github.com/purcell/emacs-reformatter
2022-03-13 20:36:11 +00:00
Ade Attwood
7c184d8616 feat: ask to remove branch in git-merge-patch
When trying to merge-patch it will fail if the branch you are trying to merge is
already on the local machine.

This will ask if you want to remove it. The branch will be removed locally and
then pulled from the remote to ensure you are not merging any un-pushed local
changes.
2022-03-13 20:33:15 +00:00
Ade Attwood
2965923990 fix(emacs): limit supper tag to prog-mode
When my custom tab was getting set on all modes it was not letting me tab in
counsel or any of the command like modes.

This now only uses the supper tab in prog-mode where this really applies.
2022-03-13 20:30:06 +00:00
Ade Attwood
ae2de6a719 feat(emacs): go full quelpa
Move all of the package installation from the default package.el to quelpa. This
has the main advantage of being able to update packages better. I have also got
a few package coming from forks and custom repos.

This also removes all of the `ensure t` from the use-package statements as we
have already set `use-package-always-ensure` so its not needed.
2022-02-19 22:15:11 +00:00
Ade Attwood
589237ea50 feat(emacs): implement super tab
This is a port of the original super tab I had in vim. It has a hierarchy of
checks for actions when using the tab so I can use tab for snippet expanding,
expanding emmet expressions.

Currently this dose not support tab for cycling though completions, and I am
sure there will be some bugs in some situations.
2022-02-19 20:43:21 +00:00
Ade Attwood
bb7671734c refactor(emacs): update the development config
Add clangd config args for the LSP config.

Remove all the custom company ordering and overriding to add in the snippets in
to the completion menu. This was only causing issues, so we now have to remember
what the snippets are. We can think about adding in a select snippet command via
counsel or something if this becomes a bigger issue.

Add in compilation notifications via `notify-send` cli tool. This helps when
testing or compiling is taking a long time an I put it into the background. When
it is done we now get desktop notifications
2022-02-19 20:33:28 +00:00
Ade Attwood
8c0ff15ca4 chore(emacs): remove lsp-treemacs package
Treemacs was remove in 08335fb, this package was left in an needed to be removed
2022-02-19 20:30:24 +00:00
Ade Attwood
5c3892b1a6 feat(emacs): add custom projectile project type
Add a new project type for Practically Makefile projects that are using
conventional tools.

This implements a few features all based around PHP and JavaScript projects. The
most notable features are:

- Compilation error detection for Jest JS testing framework
- Compilation error detection for Psalm PHP static analyser
- Alternate file support for Codeception "Cest" files
- JS test commands supporting "Jest"
- PHP test commands supporting "Codeception", "PHP Unit" and "Simple PHP Unit"
- Full project test support detecting the file type and the test command to run
2022-02-19 20:19:43 +00:00
Ade Attwood
fc58b21d01 style: align puppet array items 2022-02-19 14:43:29 +00:00
Ade Attwood
55e3e98701 chore: add languagetool back in
I am sure this was installed before, it must have been removed when I started
making the repo public.

Anyway this adds it all back and also sets up the emacs package for using it
when writing.
2022-02-19 14:43:14 +00:00
Ade Attwood
21b38da6e9 chore(emacs): configure puppet by default
Now the puppet packages get loaded by default. I don't really know why it was
not getting loaded, it must have been some time since I have needed to edit any
puppet config
2022-02-19 09:22:30 +00:00
Ade Attwood
acf6a0d08b chore(shell): add alias to switch kube namespaces 2022-02-19 09:21:09 +00:00
Ade Attwood
73ec9f8f3f chore(emacs): org mode updates
Lots of different updates while I am working on refining the Org workflow
2022-02-15 20:51:38 +00:00
Ade Attwood
d29a601b65 feat(emacs): add command for extracting a patch from emails 2022-02-15 20:47:31 +00:00
Ade Attwood
e5877a73da refactor(emacs): ui updates
Moves the setting of the font size onto a function so it can be used
dynamically. This is for when I am moving emacs across monitors with different
DPI's.

Also move base-16-themes to my fork
2022-02-15 20:43:06 +00:00
Ade Attwood
5e7c6e587f chore(emacs): remove ivy-rich package 2022-02-15 20:42:06 +00:00
Ade Attwood
073f6db85f refactor(git): update conflict style and set default branch 2022-02-15 20:40:56 +00:00
Ade Attwood
24066acaf6 feat(bin): add get get-maintainers script from the linux kernel repo
This script will find the devs that are maintaining a file in a repo. It has
been hacked so it dose not require a patch file.
2022-02-15 20:38:10 +00:00
Ade Attwood
b94a324c40 chore(emacs): add c style copyright header 2022-02-15 20:37:06 +00:00
Ade Attwood
8966cd6155 feat(emacs): use markdown-mode when using edit-server
This is mostly used when editing GitHub and GitLab comments that boath support
markdown. This allows me to have the correct highlighting and snippet support
2022-02-15 20:34:18 +00:00
Ade Attwood
a94a9d6dc2 feat(bin): support merge-patch --skip
When hitting a conflict with no changes you can `--skip` just like you would if
you where rebaseing and running `rebase --skip`
2022-02-15 20:31:59 +00:00
Ade Attwood
f386272007 feat(bin): detect merge conflicts in merge-patch
When merge patching it will now detect if there is an unresolved conflict in
your current branch and exit without doing anything.

This is useful when merging multiple branches at once, if you hit a conflict
half way though it would remove the "MERGE_PATCH" file and lose where you where
in the patch

Now the script will exit and not lose the position so you can `--continue`
correctly after fixing the conflicts
2022-02-15 20:24:45 +00:00
Ade Attwood
060fa3d5f9 refactor(emacs): update folder structure to move melpa out of the repo
When I was linking the whole .emacs.d directory all of the junk that gets put
into that directory was getting put into the dotfiles repo and accessible by
puppet. This was slowing things down quite alot. Now I am only linking the
directories I need into the .emacs.d
2021-11-21 19:11:44 +00:00