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