Skip to content

Releases: tonini/alchemist.el

Alchemist v1.3.0

20 Jul 07:52
Compare
Choose a tag to compare

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

06 Jul 11:48
Compare
Choose a tag to compare

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

26 Jun 06:19
Compare
Choose a tag to compare

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

22 Jun 11:30
Compare
Choose a tag to compare

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_* and refute_* syntax highlighting more significant within the test mode.

Alchemist v1.0.1

16 Jun 12:41
Compare
Choose a tag to compare

Bugfix

  • [Utils] Remove s-trim function from the library s.el and replace it with native emacs lisp.

Alchemist v1.0.0

16 Jun 04:29
Compare
Choose a tag to compare

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 or import 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 after parse-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

01 Jun 19:43
Compare
Choose a tag to compare
bugfix release v0.16.1

Release Alchemist v0.16.0

01 Jun 11:38
Compare
Choose a tag to compare

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

28 May 08:09
Compare
Choose a tag to compare

Enhancements

  • [Goto] Support jumping to Kernel and Kernel.Specialforms functions
  • [Project] alchemist-project-open-tests-for-current-file needs to be an interactive function
    and alchemist--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 require etags package.

Release Alchemist v0.14.0

16 May 15:08
Compare
Choose a tag to compare

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 default completion-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 ❤️