Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.01 KB

getting_started.md

File metadata and controls

33 lines (25 loc) · 1.01 KB

Refactorex

Refactorex is a TCP server that implements the Language Server Protocol to enhance editors with Elixir refactoring code actions, inspired on the catalog of Elixir refactorings

How it works

sequenceDiagram 
	participant A as Editor
	participant B as LanguageServer
	participant C as All Refactors
	participant D as Selected Refactor
	
	A--)B: file opened
	A->>B: show refactorings for line or selection
	B->>C: can refactor line or selection?
	C-->>B: yes or no
	B-->>A: list of available refactorings
	
	A->>B: use this refactoring
	B->>D: refactor line or selection
	D-->>B: refactored code
	B-->>A: file diffs
Loading

Acknowledgements

  • Sourceror which made traversing and updating the Elixir AST super simple
  • GenLSP for providing much of the infrastructure to create an Elixir language server