SublimeLinter-contrib-codeclimate
Code Climate linter for SublimeLinter
Details
Installs
- Total 3K
- Win 2K
- Mac 671
- Linux 247
Dec 21 | Dec 20 | Dec 19 | Dec 18 | Dec 17 | Dec 16 | Dec 15 | Dec 14 | Dec 13 | Dec 12 | Dec 11 | Dec 10 | Dec 9 | Dec 8 | Dec 7 | Dec 6 | Dec 5 | Dec 4 | Dec 3 | Dec 2 | Dec 1 | Nov 30 | Nov 29 | Nov 28 | Nov 27 | Nov 26 | Nov 25 | Nov 24 | Nov 23 | Nov 22 | Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | Nov 14 | Nov 13 | Nov 12 | Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 |
Mac | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
SublimeLinter-contrib-codeclimate
This SublimeLinter plugin provides an interface to the codeclimate CLI. Code Climate supports a variety of languages through standardized Docker images known as static analysis engines.
Dependencies
SublimeLinter and the codeclimate CLI must be installed to use this plugin.
- If you haven't installed SublimeLinter yet, please follow the instructions here.
- If you haven't installed the codeclimate CLI yet, please follow the instructions here.
It is recommended to add the codeclimate
executable to your $PATH
variable. You can find some help for this step in the SublimeLinter documentation. Besides, it is also possible to set a custom path to the codeclimate
executable in the SublimeLinter settings (see Settings).
Plugin installation
Please use Package Control to install the linter plugin. This will ensure that the plugin will be updated when new versions are available.
Within Sublime Text, bring up the Command Palette and type install. Select Package Control: Install Package
and wait a few seconds while Package Control fetches the list of the available plugins.
When the plugin list appears, type codeclimate and select SublimeLinter-contrib-codeclimate
.
How it works
- If the opened folder in SublimeText contains a
.codeclimate.yml
configuration file in its root,codeclimate
will recognize this file's settings. Otherwise, it will automatically run the default inspections ofstructure
andduplication
. - If you have a
.codeclimate.yml
configuration file in a different folder, you can set SublimeLinter'sworking_dir
setting (see Settings).
There are some use cases SublimeLinter can't run codeclimate
. For instance: if you open a single file beside already opened folders in the same view. In that case, the linter will fail and print a warning because the single file has no working directory (which is required by codeclimate
).
Limitations
This plugin may cause performance problems if many projects and documents are open in SublimeText.
I recommend deactivating the plugin globally by default and then activating it depending on your opened folders or as part of a SublimeText Project.
Settings
To see how SublimeLinter's settings works, please see settings and (generic) linter settings in SublimeLinter's documentation.
Examples
Here I try to give you some examples of everyday use cases.
Disable/enable this plugin
{
"linters": {
"codeclimate": {
"disable": true
}
}
}
For SublimeLinter's global settings, go to Preferences > Package Settings > SublimeLinter > Settings.
Set executable
You can set the path to the codeclimate
executable in the global SublimeLinter settings or your project settings:
{
"linters": {
"codeclimate": {
"executable": "/usr/local/bin/codeclimate"
}
}
}
Pass arguments to the codeclimate CLI
If you want to ignore the configuration of a .codeclimate.yml
, for instance, to run a subset of codeclimate engines, you can set linter arguments in the global SublimeLinter settings or your project settings:
{
"linters": {
"codeclimate": {
"args": [
"-e",
"structure",
"-e",
"duplication"
]
}
}
}
Customize the working directory
Suppose you use a .codeclimate.yml
-configuration file. In that case, the codeclimate
CLI needs to be executed in your configuration file's directory. Otherwise, it can't detect your configuration and runs only the default analyzes.
SublimeLinter takes the current file's root folder in SublimeText's sidebar as the working directory for executing its linter commands. You can change this behavior by setting the working directory of execution:
{
"linters": {
"codeclimate": {
"working_dir": "/path/to/working/dir"
}
}
}
Hint: Make sure the working directory is in the path of the file you want to lint!
Set associated file types
You can set the associated file types in the global SublimeLinter settings or your project settings:
{
"linters": {
"codeclimate": {
"selector": "source.php, source.python"
}
}
}
To find out what selector to use for given file type, use the “Tools > Developer > Show Scope Name” menu entry. (SublimeLinter documenation)
Contributing
If you would like to contribute enhancements or fixes, please do the following:
- Fork the plugin repository.
- Do your changes on a separate topic branch created from the latest
main
. - Commit and push the topic branch.
- Make a pull request.
Please note that modifications should follow these coding guidelines:
- Indent is 4 spaces.
- Code should pass flake8 and pep257 linters.
- Vertical whitespace helps readability, don’t be afraid to use it.
- Please use descriptive variable names, no abbreviations unless they are very well known.
Thank you very much for helping out!