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
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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
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
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.
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
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
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