Releases: tonini/alchemist.el
Releases · tonini/alchemist.el
Alchemist v1.3.0
Enhancements
- [Refcard] Introduce a dynamic generated REFCARD which can be called from inside Emacs.
alchemist-refcard
- [Mix] The Alchemist Elixir server now handles available Mix tasks.
alchemist-mix
is now instantly fast and serves all available tasks. - [Mix] The establishing of the project root path before running Mix tasks, is now working properly.
- [Test] The test report mode brings now several useful functions, toggle through failed test results or stacktrace files.
- [Goto] Jump to to a function definition in a source file which is defined multiple times is now much more accessible.
A prompt with all the possible available functions gets now opened after jumping to source file.
Changes
- [Buffer] Replace the whole buffer package which used the compile.el library to handle command runs with
an own more lightweight solution.alchemist-report
- [Mix] Declare most of the alchemist-mix interactive functions as obsolete. (because of
alchemist-mix
server feature)
Alchemist v1.2.0
Enhancements
- [Goto] Handle multiple symbol definitions in local file while using goto definition functionality.
- [Test] Rerun the last test run with
alchemist-mix-rerun-last-test
. (default binding:C-c a r
) - [Project] Run tests for current Elixir file.
- [Project] Create new Elixir file for the current mix project.
- [Goto] Handle trailing slash for elixir/erlang source directories.
- [Alchemist] Replace interactive functions in codebase with faster none-interactve functions.
- [Alchemist] Refine codebase that warnings/error which occures when package.el bytes-compile elisp code won't happen.
- [Alchemist] Refine configuration section of the README.
- [Refcard] Update refcard with new functionalities.
- [Completion] Better completion candidates part of module prefix
- [Server] Run the completion for context modules first to be sure modules are loaded.
- [Server] Alchemist Elixir server basic tests.
Changes
- [Server] Start an alchemist server when alchemist-mode is initialized.
- [Server] Use Application module instead of ets table for aliases storage
- [Mix]
*-with-prompt
functions are deprecated.
Alchemist REFCARD with updated keybindings: https://github.com/tonini/alchemist.el/blob/master/doc/alchemist-refcard.pdf
Alchemist v1.1.1
Enhancements
- [Test] List tests inside current test file and prompt for jumping to it. @whatyouhide <3
- [Completion] Use company-dabbrev-code as fallback backend @chrismccord <3
- [Server] Use a custom server environments variable (
alchemist-server--envs
)
Bugfixes
- [Server] Remove legacy IEx.Autocomplete call, it's not working anymore because
IEx.Server is now added through application environemnt. - [Complete] Fix doc and definition lookup through company candidate selection
- [Goto] Fix issue that mark will be moved even without founded definition
Alchemist v1.1.0
Enhancements
- [Completion] Implement completion for alias modules.
- [Goto] Jump to definition of aliased modules implemented.
- [Goto] Refine regex extraction of symbol defintion for one line def (remove
,
). - [Help] Jump to documentation of aliased modules implemented.
- [Server] Refine the server to be more structured and maintainable.
- [Server] Implement a custom version of the IEx.Autocompleter to handle context aliases.
- [IEx] Add keybindings for documentation lookup and jump to definition.
- [IEx] Add keybinding for open a buffer with the history of the current session to choose from.
- [Test] The test keybindings are now also available inside the test report.
- [Test] Toggle through tests inside the
*alchemist-test-report*
- [Mix] Separate the buffer in which task will run. (example:
*alchemist-test-report*
or*mix*
) - [Test-Mode] Make the
test
,asssert_*
andrefute_*
syntax highlighting more significant within the test mode.
Alchemist v1.0.1
Bugfix
- [Utils] Remove
s-trim
function from the librarys.el
and replace it with native emacs lisp.
Alchemist v1.0.0
Enhancements
- [Server] Implement a server which runs as background process for each mix project or one for project independent work.
- [Completion] Use the server background process for all the completion related functionality.
- [Goto] Use the server background process for all the go to code definition related functionality.
- [Eval] Use the server background process for all the inline code evaluation related functionality.
- [Help] Use the server background process for all the documentation lookup related functionality.
- [Completion] Functions of modules which are used inside a context with
use
orimport
will be completed. - [Completion] Functions in the context of the current module will be completed.
- [Goto] Handle Erlang syntax specific aliases
- [Completion] Use the company-mode specific functions for doc and location lookup
The functionality to open the doc and jumpt to location for the current selected completion candidate is now called through the proper company-mode functions. - [Goto] Improvement of symbols for one line definitions.
Changes
- [Project] remove
.alchemist
setup file. There is no need anymore for controlling the compiling in special cases. - [Project] remove legacy
alchemist-project-open-tests-for-current-file
function
Bugfix
- [Help] Fix wrong message about not existing doc
- [Goto] Fix regex for jumping to functions inside file
- [Goto] Fix issue that jumping to functions inside file without function parentheses
- [Goto]
save-excursion
have to be used to restore the last position informations afterparse-partial-sexp
call.
This v1.0.0 release is a huge improvement and all the thanks goes to @josevalim for the initial idea and the fundamental code snippet for the Alchemist-Server. ❤️
And thanks to all the guys who always were testing, trying and reporting to me: @larshesel - @whatyouhide - @st23am - @chrismccord - @pragdave - @zabirauf - Tianyi Wang
Bugfix Release Alchemist v0.16.1
bugfix release v0.16.1
Release Alchemist v0.16.0
Enhancements
- [Mix] Mix commands can be executed in a specific environment with the usage of
C-u
(universal-argument) - [Goto] Open a prompt with all the modules/function/macros definitions inside the current file.
alchemist-goto-list-symbol-definitions
- [Goto] Jump to definition inside the current file.
- [Test-Mode] Introduce a ExUnit minor mode for
*_test.exs
files. - [Test-Mode] Default keybindings with prefix
C-c ,
for running specific test functions. - [Test-Mode] Functionality to go to next/previous test block.
- [Completion] Completion process buffer will be deleted after usage, there is no need to have it around after it.
Release Alchemist v0.15.0
Enhancements
- [Goto] Support jumping to
Kernel
andKernel.Specialforms
functions - [Project]
alchemist-project-open-tests-for-current-file
needs to be an interactive function
andalchemist--project-open-tests-for-current-file
not (it's a private function) - [Keybindings] Add customizable keybinding prefix (default:
C-c a
) - [Keybindings] Add keybinding for
alchemist-mix
(C-c a x
) - [IEx] IEx prompt should not be deletable, set it read-only.
- [Mix] Add keybinding for
alchemist-mix-compile
. (C-c a m c
) - [Completion] Make documentation lookup and jump to defintion for selected completion
candidate more accessable with using the same keybindings as company-mode uses. - [Refcard] Update refcard with keybinding for
alchemist-mix
(C-c a x
) - [Refcard] Update refcard with new keybindings for project test files functionality.
Bugfixes
- [Goto] To avoid issues with void
find-tag-marker-ring
variable requireetags
package.
Release Alchemist v0.14.0
Enhancements
- [Goto] Handle alias of module name, that jump to definition and modules also working.
- [Project] Add functions to toggle between test and implementation.
- [Mix] Exclude pending tests by default.
- [Mix] Use a variable for default mix test options.
- [IEx] Use
company-complete
as defaultcompletion-at-point
function if company is available. - [Compile] Don't compile
*.exs
files.
Bugfixes
- [Buffer]
alchemist-buffer--error-link-options
should match compilation errors
A huge thank you to all the contributors ❤️