https://github.com/dmalyuta/julia-staticlint
Emacs integration for StaticLint.jl
https://github.com/dmalyuta/julia-staticlint
Last synced: 3 months ago
JSON representation
Emacs integration for StaticLint.jl
- Host: GitHub
- URL: https://github.com/dmalyuta/julia-staticlint
- Owner: dmalyuta
- License: cc0-1.0
- Created: 2021-01-28T17:20:23.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-21T18:43:20.000Z (over 4 years ago)
- Last Synced: 2025-06-04T13:28:57.656Z (4 months ago)
- Language: Julia
- Size: 76.2 KB
- Stars: 7
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* julia-staticlint
This simple package provides static code linting of Julia ~julia-mode~ language
buffers through the [[https://github.com/julia-vscode/StaticLint.jl][StaticLint.jl]] backend. The static linting is done by a
background process, which sends errors over a TCP connection to Flycheck for
display in the Emacs buffer. The result looks like this:#+HTML:
This code was tested with the following setup:
- OS: Ubuntu 20.04.1 LTS
- Emacs: 27.1.9
- Julia: 1.5.3
- StaticLint: v7.0.0
- SymbolServer: v6.0.1In order to make this code run for your Emacs setup, include the following in
your ~init.el~ (using [[https://github.com/jwiegley/use-package][use-package]] and [[https://github.com/quelpa/quelpa][quelpa]]):#+begin_src emacs-lisp
(use-package julia-staticlint
;; https://github.com/dmalyuta/julia-staticlint
;; Emacs Flycheck support for StaticLint.jl
:ensure nil
:quelpa ((julia-staticlint :fetcher github
:repo "dmalyuta/julia-staticlint"
:files (:defaults "julia_staticlint_server.jl"
"julia_staticlint_client.jl")))
:hook ((julia-mode . julia-staticlint-activate))
:config
(julia-staticlint-init))
#+end_srcBecause this code uses a Julia backend, make sure that you can open a Julia
REPL using the command ~julia~ in your terminal. You should also have the
following packages installed in Julia: ~StaticLint~, ~SymbolServer~, ~Printf~,
and ~Sockets~. Install by entering the following sequence into the Julia REPL:#+begin_src julia
julia> using Pkg
julia> Pkg.add(["SymbolServer","StaticLint","Printf","Sockets"])
#+end_src