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