Commit graph

340 commits

Author SHA1 Message Date
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
Ade Attwood
08335fba6a refactor(emacs): replace treemacs with neotree
Neotree has a much smaller foot print for me. This removes a lot of packages
that were not getting uses to intergate it with the lsp and projectile.
2021-11-21 16:49:47 +00:00
Ade Attwood
e4ca0d9ff1 chore(emacs): add vue mode 2021-11-21 16:46:56 +00:00
Ade Attwood
15906dc25d fix(shell): fzf escaping 2021-11-21 16:43:41 +00:00
Ade Attwood
075a167376 fix(shell): fshow command with delta
When running fshow we are piping it into less. This was interfering with delta
and loosing the formatting.

This removes the pipe and lets delta handle the paging in the default way with
all the highlighting.
2021-11-21 16:40:53 +00:00
Ade Attwood
74cffd7591 chore(tmux): updates to the term mode
I cant really remember what this is doing but it looks like it something to do
with terminal colors.
2021-11-21 16:32:08 +00:00
Ade Attwood
dac5bfa299 feat(shell): record missing commands
This is so we can later add some alias for commands I frequently get incorrect
2021-11-21 16:30:43 +00:00
Ade Attwood
ec7c111e2f feat(emacs): update sh-mode
This adds shellcheck for creating better scripts and bats mode for testing
support.

It also added .env files to the mode list so I get highlighting in .env files
2021-11-21 16:26:25 +00:00
Ade Attwood
0c92f447e8 chore(emacs): big refactor of org-mode
This removes all of the boiler plate code that was copied when fist moving away
from spacemacs and taken from the emacs from scratch config.

There is some inspiration about capturing notes from org-roam and putting them
into a directory for filing before they get put into the wiki.

This is the first move to start managing my notes / life with org-mode and its
started off really nicely. I think this will keep evolving and we can see where
it goes.
2021-11-21 16:21:21 +00:00
Ade Attwood
d4c96992ad refactor(shell): remove emacs zsh plugin and create my own
This dose the same thing as the built in oh-my-zsh plugin but this one can
update the paths to emacs that it will be used.

This will allow you to use a custom compiled version of emacs for testing and /
or pinning the version you want with the features you need.
2021-11-21 16:13:12 +00:00
Ade Attwood
bc512c7e5d feat(shell): add my-clone command for cloning git repertories
When cloning a repo I have all of the repertories structured on the file system
by "host" "group" then "name". This command will automatically clone the repo
into the correct directory based on the name and the move into the cloned repo
directory.

An example of a repo to be cloned is the dotfiles repo has the URL of
`git@gitlab.com:AdeAttwood/dotfiles.git` so on the file system it will be in the
source directory `gitlab.com/AdeAttwood/dotfiles`. This keep all of the repos
well structured and searchable.
2021-11-21 16:06:21 +00:00
Ade Attwood
13845d5098 fix(shell): git recommit command
When running git commit it was supposed to update the commit message you are
currently working on. When running commit with git hooks setup the commit may
fail due to a invalid message.

This now splits out the command so you can run `grc` (git recommit) to reedit
the commit message that failed rather then having to enter the message again in
a new commit message.
2021-11-21 15:58:55 +00:00
Ade Attwood
92c00ca15c refactor(emacs): swap cue for jsonnet
This is the language we are doing mode configuration in at work now. Cue was
nice but still ab bit new and jsonnet has been around for a lot longer. Cue also
works best with go but we are not doing any of that at work so jsonnet was the
winner.
2021-11-21 14:59:56 +00:00
Ade Attwood
9f7d45b489 feat(emacs): add psalm integration for php-mode
Add the flycheck-psalm package and also add `.phpstub` files to be treated as
php files so we get all of the lsp and and syntax highlighting
2021-11-21 14:57:14 +00:00
Ade Attwood
5de5d36cab feat(emacs): add tree-sitter for highlighting
This is mainly for jsx where the base emacs packages dont really do a good job
especially will typescript tsx files.

This is also giving it a go in php mode where I was getting some funky things
happening in doc blocks.
2021-11-21 14:53:45 +00:00
Ade Attwood
0417e30dc7 feat(emacs): add edit-server package for editing in the web browser
When editing code comments on git platforms like github the input is not very
good when trying to input code. A good example of this is when trying to insert
a tab indent and it will tab away from the input you are typing into.

The edit-server package allows you to open an emacs buffer to edit you comment
or issue into. This will solve the tab issues and give you all of your editor
comforts like auto closing brackets and snippets.
2021-11-21 14:43:03 +00:00
Ade Attwood
f8f8203dac chore(emacs): remove custom company sorting 2021-11-21 14:42:18 +00:00
Ade Attwood
aa5ef6ec72 feat(emacs): set the completion in emacs to scroll
When running the compile command in emacs the buffer dose not scroll with the
output by default.

This now set it to follow the output so you can see the full output as it
happened not just the final result.
2021-11-21 14:39:12 +00:00
Ade Attwood
ddb7febaa9 chore(emacs): disable lock files 2021-11-21 14:37:08 +00:00
Ade Attwood
cb1ecc7478 chore(emacs): setup flycheck next checkers for lsp-mode
When using lsp-mode with flycheck it hijacks all of the checkers that have been
defined for all of the languages. When added other checkers they never get used
because they are all overridden by lsp-mode.

This adds a function so we can define checkers per mode then we can have lsp and
another checker that is specific for the language
2021-11-21 13:43:39 +00:00
Ade Attwood
99dd45aa08 chore(emacs): add key binding for org-capture 2021-11-21 13:33:04 +00:00
Ade Attwood
0042a84112 feat(emacs): add fmt mode
This is a format on save code formatter for multiple languages. It is based on
prettier.el but is using a custom cli tool for formatting.

This is the emacs port of format.vim a plugin I created to do formatting in the
same way but for vim.

See: site-modules/core/files/vim/plugin/format.vim
2021-11-21 13:24:29 +00:00
Ade Attwood
0cf4568853 feat(emacs): add zoekt code search integration
This integrates zoekt code search into emacs and ivy with a heavy inspiration on
`counsel-ag`

See: https://github.com/google/zoekt
2021-11-21 13:18:03 +00:00
Ade Attwood
a913143ee8 chore(emacs): fork the base16 theme
This is so we can add and develop some of the missing features of the
theme. After using them for a bit I will start to submit them back upstream in a
PR
2021-11-21 12:41:27 +00:00
Ade Attwood
086c913dbc chore(emacs): update ui when using the GUI 2021-11-21 12:40:48 +00:00
Ade Attwood
653c7af2ae fix(emacs): update notmuch integration
- Pin notmuch to the version that comes with Ubuntu and is installed with apt
- Add org-move capture integration
- Add unread message filter
2021-11-21 12:36:45 +00:00
Ade Attwood
e8bbbae10a feat(emacs): add c and c++ language integration 2021-11-21 12:31:48 +00:00
Ade Attwood
05902b7461 refactor(shell): update gl alias
This will now display the date and author of the commit in the one line log
2021-11-21 11:42:21 +00:00
Ade Attwood
31ab535f8e chore(emacs): add quick command for lsp actions 2021-11-21 11:03:44 +00:00
Ade Attwood
a064375c2b feat(shell): add comby shell aliases
The main reason for this is to automatically exclude common directories form the
search and replace to speed things up a bit.
2021-11-21 11:01:40 +00:00
Ade Attwood
0aad3a6601 chore(emacs): finally move over the php html snippets 2021-11-21 10:56:43 +00:00
Ade Attwood
404df4b3db feat(git): move to delta diff for diff in the terminal
Now when using git diff it will use delta for a much nicer diff format. This is
set for the show and log commands too.

See: https://github.com/dandavison/delta
2021-11-21 10:52:35 +00:00
Ade Attwood
ebd73bcc38 feat(emacs): add file operation functions
This adds file operation command to emacs so you can quickly rename and copy
files.

The problem with the normal copy file if that it misses removing the old buffer
if its a rename and dose not move to the new buffer. This leads to (more than I
like to admit) editing the new file thinking its the old file.

By updating the buffers and automatically switching this prevents this.
2021-11-21 10:38:43 +00:00
Ade Attwood
956a8e1986 fix(pp): update oh-my-zsh to use vcsrepo
oh-my-zsh will now use vcsrepo to install the package. This will now keep it up
to date with the master branch. I don't think this package has been updated in
quite some time.
2021-07-18 13:57:04 +01:00
Ade Attwood
034ae2d143 feat(shell): override "gc" alias to open up the ".git/COMMIT_EDITMSG"
When using tools like commitlint to lint your commits there is always that time
you write an invalid commit. In this situation you are dumped back into the
terminal with an error message and your invalid commit.

This function will now load the invalid commit message back in to the editor so
you can fix the errors and commit successfully.
2021-07-14 14:24:17 +01:00
Ade Attwood
a4d9fb370f fix(shell): ensure to use emacs in the terminal when using git commands 2021-07-14 14:23:20 +01:00
Ade Attwood
385829ea8b fix(shell): re alias gs to gss
Now the `gs` command has be aliased to a git status alias. The original `gs`
would open up ghost script and I would open it everyday trying to run git
status.
2021-07-10 21:21:24 +01:00
Ade Attwood
e5655ed216 refactor(shell): refactor ggpushmr git alias
ggpushmr has now been renamed to ggpushpr. The only place it is called a "Merge
Request" is in Gitlab. All the community has now decided to go with Github's
"Pull Request".

This also makes the branch param optional. If you don't pass a branch name it
will make the pull request against the repositories default branch.
2021-07-10 21:12:13 +01:00
Ade Attwood
208b1e542d refactor(shell): go back full terminal
After a long while in emacs gui trying the terminal inside emacs and using the
external terminal with tmux. I have now decided to back full terminal using
emacs in the terminal in a tmux pain, sort of the same way I was using vim
before I switched to emacs.
2021-07-10 20:57:09 +01:00
Ade Attwood
1270157bdf feat(emacs): completely refactor company and lsp mode
Update the lsp to improve the performance and editing experience. The completion
has been disabled so we can configure it manually to include snippets and file
paths into the company code completion.

Company has been configured to override the tab behaviour to always expand
snippets whenever there is a available snippet. The default behaviour is to
cycle through the completion.
2021-07-10 20:42:41 +01:00
Ade Attwood
ea87574031 chore(emacs): set column width to 80 chars 2021-07-10 20:36:32 +01:00
Ade Attwood
bb66289983 feat(shell): integrate the emacs better into the terminal
There a quite a few fixes and feature here to make the terminal experience of
emacs better. Most of this is only enabled when running in the terminal.

1) Better tmux integration with navigating between splits and also highlighting
the active window between emacs and tmux so you can better see the active window
you are working in.

2) Mouse and clipboard support through the x window manager so "yank" copies
text into the system clipboard

3) Changing the cursor style between insert and normal mode inside the terminal
this is not the case in default evil mode.
2021-07-08 09:03:27 +01:00
Ade Attwood
a5c86ed6f2 fix(emacs): disable web-mode-enable-auto-quoting
This was really annoying when using JSX. When adding a `=` it would always add
in the quotes to make `=""`, this is not good when writing JSX when a lot of the
time you want `={}`. Now that this is disabled I can make the decision of what I
want to add
2021-06-26 21:06:02 +01:00
Ade Attwood
471fb9168d feat(emacs): binding to CTRL-; to add semi colon at the end of the line
Now in insert mode when editing you can add a semi colon at the end of the
current line my pressing CTRL-;. This will then put the cursor after that ready
to continue the line or press enter to start a new line. This is inspired by
some old vim key bindings I had and a vscode plugin called coloniser.
2021-06-26 21:00:10 +01:00
Ade Attwood
8df6f7e798 fix(emacs): js import snippet had a syntax error in it 2021-06-26 20:58:56 +01:00
Ade Attwood
6540bdf68d refactor(emacs): load in c-sharp config
This was missed in a previous commit.
2021-06-26 20:55:22 +01:00
Ade Attwood
67630dcbbf feat(shell): add dkip alias to the ip address of a container
This alias will inspect a container and pull out the ip address so you can get
to it on the network without having to bind ports.
2021-06-26 20:47:25 +01:00
Ade Attwood
6976cfe1fa feat(emacs): add c-sharp support
This is only initial support. Most of the features are built-in to lsp-mode. I
have added some snippets to make my life a bit easier.

There a more tweaks coming but they are general in improving the editing
experience not just targeted at c-sharp.
2021-06-26 20:34:21 +01:00
Ade Attwood
bfe7d7af2a feat(bin): add merge-patch script 2021-06-25 05:55:03 +01:00
a3b0be161d feat(emacs): improve vterm config
This forces vterm buffers to be in the evil emacs state to basically
disable evil-mode to make vterm function more like a native terminal
emulator. I have also bound `C-o` to move to the previous buffer to
simulate the jump backward functionality of evil-mode. This seams to
be working better at the moment due to this always exiting the
buffer. Sometimes jump back can move in the same buffer and this is
not want we want when we are in a vterm buffer.
2021-05-16 20:13:11 +01:00
4b71e6bc0e fix(emacs): change window delete keybinding wd
The current keybinding was set to kill the buffer that was causing an
issue when there was a spit of the same buffers and you wanted to
close one. If your were in this situation them the buffer would be
deleted and both of the windows would close. This is not what I want
from the "delete window" command, the expected behaviour is to close
the one window and leave the other window. This is what
`evil-window-delete` dose. This prevents the buffer from getting
deleted and if it is the last buffer emacs would then close.
2021-05-16 20:00:59 +01:00
fbd607ce5d feat(emacs): add git snippet for the security footer 2021-05-01 14:34:36 +01:00
e48e616c6e fix(emacs): create typescript-tsx-mode
When editing typescript jsx files I was previously using rjsx-mode to
get the jsx highlighting and emmet `className` support. This now
splits out the tsx to ts like other packages like spacemacs and doom
do. This gives me better jsx support with typescript and not impacting
the ts mode that dose not play nicely with jsx.

This seems to be working better with the snippets I created for
spacemacs that works with rjsx-mode and override any functions that
need it for typescript-tsx-mode
2021-05-01 14:26:21 +01:00
3c2b34e98f feat(zsh): add "git add -p" alias
Alias "gap" to "git add -p" for patch adding of files
2021-04-30 20:51:09 +01:00
c704328466 fix(zsh): set the BAT_THEME variable to theme bat cli tool
Setting the bat theme so the cli tool will now integrate better with
the shell theme
2021-04-30 20:46:58 +01:00
2562204827 fix(emacs): move custom-set-variables out of the init.el
This is to stop the generated code from cluttering the init.el and it
can now be ignored by git
2021-04-16 20:49:53 +01:00
60509de1bf feat(fzf): add command for git check out 2021-04-16 20:49:01 +01:00
7c34a6baf2 fix(git): force git to open commits in terminal editor
When committing and using emacs as the editor it would always open a
new emacs window. This was taking focus away from the terminal and
losing flow when context switching out of the terminal and into a new
window.
2021-04-16 19:59:30 +01:00
4296160d7d feat(emacs) add org reveal package 2021-04-16 19:58:03 +01:00
7cab7c158d feat(zsh): override command not found to add command not found link
When you run a shell command that is not found this will print out a
link to https://command-not-found.com to give more info on the
command and good docs on how to install the package that the command
came from. This can be built on to do other things like git suggestions
on common commands that are incorrect
2021-04-16 19:53:25 +01:00
0ced8a28b1 refactor(core): update code structure
This is the big re structure to all of the projects. I have decided to
go with the `GOPATH` format so all of the code is in one place and
organised inherently by code host / group / project
2021-03-16 20:22:26 +00:00
1e4968e1e1 feat(git): update merge-to to rebase onto target branch
Now when merging to it will rebase onto the target branch to make
merge-to work more. I was finding that it will fail and I was doing
the merge step all the time so now its built in.
2021-03-16 20:18:15 +00:00
7cf8c3fa53 feat(emacs): add code files to move away from spacemacs
This is the start to move away from spacemacs and to a custom emacs
config
2021-03-16 20:12:46 +00:00
d182275eb0 refactor(emacs): disable lsp breadcrumbs
This was after a recent update to lsp-mode / spacemacs when this feature was
enabled by default

See: c4ad14a73a/layers/+tools/lsp/README.org (breadcrumb-on-headerline)
2020-12-29 09:15:31 +00:00
72431d9b18 refactor(emacs): start playing with Hasklig font 2020-12-29 07:58:41 +00:00
755f41bcf8 feat(zsh): add fzf scripts 2020-12-28 21:12:43 +00:00
b7a3aabf49 feat(zsh): add dynamic path support 2020-12-28 21:11:58 +00:00
c80eec632c fix(core): fix bat install
When installing bat from the Ubuntu repo the executable name is `catbat`. After
updating to 20.04 the executable `bat` is not there. This links catbat -> bat so
bat works as expected
2020-12-28 20:51:00 +00:00
6c43582e35 feat(emacs): move to doom modeline 2020-12-28 19:46:12 +00:00
4ccb9323a1 fix(zsh): export go path to execute programmes installed with go get 2020-12-28 09:28:02 +00:00
b751a5f34b fix(zsh): disable base16 shell when in ssh session
When connecting to a workstation with this zshrc base16 will get in causing
issues in the theme on the client workstation
2020-12-28 09:22:43 +00:00
578d0b5f8b pref(zsh): improve start up time of zsh
Remove unused plugins and override composer plugin there was only one bit that
was really slow when evaluating the bin directory
2020-12-28 09:19:32 +00:00
766e50106e refactor(emacs): remove fringe color from theme
This gives the themes a move minimal and clean look.
2020-11-22 21:12:34 +00:00
4019c0a4eb improvement(code): remove line numbers and add defaultFormatter 2020-11-22 21:09:34 +00:00
d3a2f6dbe3 fix(emacs): update spacemacs to the develop branch via puppet
Before puppet was only checking to see if the repo was present. Now it is
checking to see if the branch is updated with the develop branch and getting
auto update when the puppet manifests are applied
2020-11-22 21:03:09 +00:00
340ed4036b fix(git): format .gitconfig and move to Emacs for the editor
For some reason the .gitconfig was indented with tabs this has now been
correctly formatted. Also move over to the Emacs client for the git editor. This
has been working well for now. My in the future look at forcing the editor to
open in the terminal as sometimes the focusing in X is a bit off
2020-11-22 20:57:40 +00:00
430871e37a feat: add mkcert install and config
See: https://github.com/FiloSottile/mkcert
2020-11-22 20:53:53 +00:00
9bb1595dec feat(emacs): make emacs open file to a line like a normal editor
When opening files in emacs from the terminal using the default command `+LINE`
is not really useful an no programs output files and lines in that format. All
programmes output a file like `path/to/file.ext:2` this is line 2 in the file
`path/to/file.ext` if you were to open this with the emacs command it would be
`emacs +2 path/to/file.ext`. With this commit you can use `emacs
path/to/file.ext:2` and it will open the file on line 2 like you would expect.

As a extra I have overridden the tmux open command to add the `--no-wait` to the
editor command so that we can continue to use the terminal window as the file is
open in emacs and we don't need to close the file to use the terminal.
2020-11-04 20:15:44 +00:00
b68fd82987 fix(emacs): sort out base16 terminal colors 2020-11-04 19:56:21 +00:00
b35513512b feat(shell): add docker ls -a alias dkls
This lists all container on the system event stopped ones. This is different to
`dkps` that only displays running container. Some times it is helpfully to
display stopped container for getting the id and viewing logs when debugging
crashing containers
2020-10-25 20:12:47 +00:00
1368b94faf fix(php): remove practically php bin export
This is now conflicting with phpenv and multiple php bin directories were
getting exported to the `PATH`
2020-10-25 20:10:36 +00:00
3464a86fb0 fix(emacs): zsh shell when inside emacs
When running zsh inside emacs base16 colors messes the colors. By using the
`INSIDE_EMACS` this excludes loading the shell color theme when running shells
inside emacs
2020-10-17 16:48:48 +01:00
ca5a928f55 feat(emacs): add spacemacs config
This was moved out of the private repo
2020-10-17 16:47:40 +01:00
e2adbf5e10 fix(emacs): stop tramp from hanging
When editing remote files in emacs via tramp it would just hang when the ssh
connection was made

See: https://www.emacswiki.org/emacs/TrampMode#toc9
2020-10-13 20:44:36 +01:00
337f603e45 refactor(core): remove thunderbird
This is not used anymore and replaced my notmuch emacs and mutt. I have mainly
been using the notmuch interaction in emacs so mutt maybe removed soon.
2020-09-21 20:49:53 +01:00
bb5eb593b3 refactor(vscode): add ignoreTrimWhitespace to the settings 2020-09-21 20:12:27 +01:00
12e2d3e841 fix(eamcs): change repo url and remove spacemacs dotfile
Change the git source for spacemacs so it links up with the existing git source.
Also remove the spacemacs dotfile, this will be in the private repo until I can
sort out a private spacemacs module to put some stuff
2020-09-21 20:09:37 +01:00
1787c434f8 feat(term): add alacritty and base16 colours
This add alacritty install and configuration. We are also include base16 for
terminal colours.
2020-09-20 21:13:11 +01:00
195b5060ed feat(emacs): add emacs install and setup
#	modified:   Puppetfile
2020-09-20 12:19:23 +01:00
01d6024067 feat(vscode): get vscode installed and configured 2020-09-20 10:32:02 +01:00
80239af169 refactor(core): start to make dotfiles public
This is the first commit that brings the privet dotfiles to a public
reop previously this was all one puppet module. Now this has been split
out so I can put all of the private files in a private puppet module
2020-09-20 06:22:17 +01:00