All Projects → AtomLinter → linter-elixirc

AtomLinter / linter-elixirc

Licence: MIT license
Atom Linter plugin for ElixirC

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to linter-elixirc

Linter Phpcs
Linter plugin for PHP, using PHP_CodeSniffer.
Stars: ✭ 64 (+357.14%)
Mutual labels:  atom, linter
atom-minimap-linter
Atom package to display linter markers on minimap
Stars: ✭ 26 (+85.71%)
Mutual labels:  atom, linter
atom-perl6-editor-tools
A collection of useful Perl 6 editor tools
Stars: ✭ 19 (+35.71%)
Mutual labels:  atom, linter
Wsl Proxy
WSL proxy files for editor/linux interop
Stars: ✭ 134 (+857.14%)
Mutual labels:  atom, linter
Linter Js Standard
Atom linter plugin for JavaScript, using JavaScript Standard Style
Stars: ✭ 95 (+578.57%)
Mutual labels:  atom, linter
Linter Jscs
Atom JSCS linter providers
Stars: ✭ 69 (+392.86%)
Mutual labels:  atom, linter
linter-pylama
Lint python in the Atom on the fly, using pylama
Stars: ✭ 22 (+57.14%)
Mutual labels:  atom, linter
Atom Linter Alex
Linter plugin using alex to catch insensitive, inconsiderate writing
Stars: ✭ 87 (+521.43%)
Mutual labels:  atom, linter
Linter Write Good
An Atom linter interface for write-good.
Stars: ✭ 102 (+628.57%)
Mutual labels:  atom, linter
linter-glsl
Atom package that lints GLSL shaders on the fly.
Stars: ✭ 15 (+7.14%)
Mutual labels:  atom, linter
asterisklint
Asterisk PBX configuration syntax checker
Stars: ✭ 45 (+221.43%)
Mutual labels:  linter
rubocop-graphql
Rubocop extension for enforcing graphql-ruby best practices
Stars: ✭ 143 (+921.43%)
Mutual labels:  linter
eslintcc
Complexity of Code - JavaScript/TypeScript
Stars: ✭ 15 (+7.14%)
Mutual labels:  linter
li18nt
🌎 Lint your i18n translation files. Detect conflicting properties, duplicates and make it more readable and easier to maintain by formatting it!
Stars: ✭ 29 (+107.14%)
Mutual labels:  linter
tern-openui5
🛠 Autocomplete for the OpenUI5 framework for your favorite code editor, powered by Tern.
Stars: ✭ 26 (+85.71%)
Mutual labels:  atom
VisualTeensy
VisualCode projects for PJRC Teensy boards
Stars: ✭ 101 (+621.43%)
Mutual labels:  atom
reuse-action
A Github action to check repositories for REUSE compliance
Stars: ✭ 31 (+121.43%)
Mutual labels:  linter
dotatom
Config for the Atom text editor
Stars: ✭ 15 (+7.14%)
Mutual labels:  atom
x-terminal
An xterm based Atom plugin for providing terminals inside your Atom workspace.
Stars: ✭ 34 (+142.86%)
Mutual labels:  atom
eslint-config
🚀 Jetrockets Standarts | ESLint
Stars: ✭ 20 (+42.86%)
Mutual labels:  linter

linter-elixirc

This linter plugin for Linter provides an interface to elixirc/mix. It will be used with files that have the "source.elixir" syntax (ie. *.ex; *.exs).

There are limitations with Elixirc that:

  • In case of compilation error, it will only show first error
  • It does not work with buffers, so linting on fly is disabled

Installation

Plugin requires Linter package and it should install it by itself. If it did not, please follow Linter instructions here.

Method 1: In console

$ apm install linter-elixirc

Method 2: In Atom

  1. Edit > Preferences (Ctrl+, or Cmd+,)
  2. Install > Search "linter-elixirc" > Install

Settings

Plugin should work with default settings. If not:

  1. Edit > Preferences (Ctrl+, or Cmd+,)

  2. Packages > Search "linter-elixirc" > Settings

  3. elixirc path option - use which elixirc to find path. ie. /usr/local/bin/elixirc

  4. mix path option - use which mix to find path. ie. /usr/local/bin/mix

  5. always use elixirc option - leave it disabled, unless mix compile is too slow.

  6. mix env option - Allows changing the Mix environment for lint runs. If using IEx at the same time as Atom this can be changed to allow IEx to pick up code changes.

Usage

The operation of the linter is dependent on the type of Elixir files you are working with:

Mix Projects

If you open a folder containing a Mix project (i.e. the file mix.exs exists in the root folder of the project), the linter will use mix compile to include all dependencies, unless you enable "Always use elixirc" setting.

Single .ex Files

If you open a single .ex file, the linter will use elixirc. This will try to find dependency build artifacts in the location where Mix projects normally output to (\_build/dev/lib/\*/ebin). If your build output path is different, then every external dependency will trigger a compile error.

Elixir Scripts

Since .exs files are not compiled by mix compile, they are always linted using elixirc, even if they appear within a Mix project.

ExUnit Test files

ExUnit tests are always organised within .exs files, so they will also be linted using elixirc. Test files can have extra dependencies that will not be found within the normal dev build artifact directory. Instead, test files are linted using the test build artifact directory (\_build/test/lib/\*/ebin).

Why Do I Still See Dependency Errors?

Whether you're using the Mix or elixirc options for linting, it is still possible to encounter false positive errors in your lint output, particularly relating to dependencies. It can help to perform a mix compile from a terminal to keep the project build output directory fresh, and a mix test will help if you are seeing particular problems with errors in ExUnit test files.

Sometimes Mix can get confused when files are renamed, so it can also help to perform the occasional mix do clean, compile.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].