scopelint - scopelint checks for unpinned variables in go programs

  •        29

scopelint checks for unpinned variables in go programs. In Go, the val variable in the above loops is actually a single variable. So in many case (like the above), using it makes for us annoying bugs.

https://github.com/kyoh86/scopelint

Tags
Implementation
License
Platform

   




Related Projects

golangci-lint - Linters Runner for Go

  •    Go

GolangCI-Lint is a linters aggregator. It's fast: on average 5 times faster than gometalinter. It's easy to integrate and use, has nice output and has a minimum number of false positives. GolangCI-Lint has integrations with VS Code, GNU Emacs, Sublime Text.

reviewdog - :dog: Automated code review tool integrated with any code analysis tools regardless of programming language

  •    Go

"reviewdog" provides a way to post review comments to code hosting service, such as GitHub, automatically by integrating with any linter tools with ease. It uses an output of lint tools and posts them as a comment if findings are in diff of patches to review. reviewdog also supports run in the local environment to filter an output of lint tools by diff.

gometalinter - Concurrently run Go lint tools and normalise their output

  •    Go

This is a tool that concurrently runs a whole bunch of those linters and normalises their output to a standard format. The number of tools for statically checking Go source for errors and warnings is impressive.


hadolint - Dockerfile linter, validate inline bash, written in Haskell

  •    Haskell

A smarter Dockerfile linter that helps you build best practice Docker images. The linter is parsing the Dockerfile into an AST and performs rules on top of the AST. It is standing on the shoulders of ShellCheck to lint the Bash code inside RUN instructions. You can run hadolint locally to lint your Dockerfile.

stylint - Improve your Stylus code with Stylint

  •    CSS

NOTE: We are currently working on a 2.0 release. Bug fixing will not be a priority during this process, but we will try to make sure every bug is squashed after that. Follow the project, milestone and issue for progress. Please contribute if you have the time! Both with code, but also with ideas and features.

Shiba - Rich markdown live preview app with linter

  •    TypeScript

Shiba is a rich live markdown preview app with linter. It watches markdown files in specific directory and automatically shows the preview and result of lint. Shiba is built on Electron and Polymer. All documents are in docs directory. And I wrote a Japanese blog post.

postcss-bem-linter - A BEM linter for postcss

  •    Javascript

A PostCSS plugin to lint BEM-style CSS.BEM-style describes CSS that follows a more-or-less strict set of conventions determining what selectors can be used. Typically, these conventions require that classes begin with the name of the component (or "block") that contains them, and that all characters after the component name follow a specified pattern. Original BEM methodology refers to "blocks", "elements", and "modifiers"; SUIT refers to "components", "descendants", and "modifiers". You might have your own terms for similar concepts.

ruby-lint - Moved to https://gitlab.com/yorickpeterse/ruby-lint

  •    Ruby

ruby-lint is a static code analysis tool for Ruby. It is inspired by tools such as jshint, flake8 and similar tools. ruby-lint primarily focuses on logic related errors such as the use of non existing variables instead of focusing on semantics (e.g. the amount of characters per line). The features of ruby-lint include but are not limited to the detection of unused variables, the use of undefined methods and method calls with invalid argument amounts and more. More in-depth analysis will be added over time.

immutable-css - A css linter for immutable selectors

  •    Javascript

Best practices suggest avoiding overriding styles from vendor libraries to prevent unwanted side effects. Base library styles should not be altered – or as Harry Roberts describes, base styles should be treated as Immutable CSS. See the interactive web app.

eslint_d.js - Makes eslint the fastest linter on the planet

  •    Javascript

Makes eslint the fastest linter on the planet.Yes, it's actually super fast. But the node.js startup time and loading all the required modules slows down linting times for a single file to ~700 milliseconds. eslint_d reduces this overhead by running a server in the background. It brings the linting time down to ~160 milliseconds. If you want to lint from within your editor whenever you save a file, eslint_d is for you.

ie8linter - A little tool to lint websites for IE8 compatibility, with warnings for possible pitfalls

  •    Javascript

A little tool to lint websites for IE8 compatibility, with warnings for possible pitfalls and suggested fixes. Unfortunately for some of us, there are still projects out there that require compatibility with our friendly dinosaur IE8. For these special occasions I made this little linter. What it would do is spit all the usual suspects that cause incompatibility and suggest fixes. Rather than scratch your head for hours about a missing navigation bar only to find you set an initial value on your position property in one of the multiple CSS files, just give it to the linter.

stylelint-scss - A collection of SCSS specific linting rules for stylelint

  •    Javascript

A collection of SCSS specific linting rules for stylelint (in a form of a plugin). stylelint by itself supports SCSS syntax very well (as well as other preprocessors' syntaxes). Moreover, it introduces some specific rules that can be used to lint SCSS, e.g. to limit nesting, control the way @-rules are written. Yet stylelint is in general focused on standard CSS.

lint-staged - 🚫💩 — Run linters on git staged files

  •    Javascript

Linting makes more sense when running before committing your code. By doing that you can ensure no errors are going into repository and enforce code style. But running a lint process on a whole project is slow and linting results can be irrelevant. Ultimately you only want to lint files that will be committed. This project contains a script that will run arbitrary npm and shell tasks with a list of staged files as an argument, filtered by a specified glob pattern.

esprint - Fast eslint runner

  •    Javascript

esprint (pronounced E-S-sprint) speeds up eslint by running the linting engine across multiple threads. esprint sets up a server daemon to cache the lint status of each file in memory. It uses a watcher to determine when files change, to only lint files as necessary. It also has a CI mode where it does not set up a daemon and just lints in parallel. esprint will find the root of your project automatically and lint the whole project. In default mode, esprint will start a background server to watch source files and cache lint results in memory.

luacheck - A tool for linting and static analysis of Lua code.

  •    Lua

Luacheck is a static analyzer and a linter for Lua. Luacheck detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more. Most aspects of checking are configurable: there are options for defining custom project-related globals, for selecting set of standard globals (version of Lua standard library), for filtering warnings by type and name of related variable, etc. The options can be used on the command line, put into a config or directly into checked files as Lua comments. Luacheck supports checking Lua files using syntax of Lua 5.1, Lua 5.2, Lua 5.3 and LuaJIT. Luacheck itself is written in Lua and runs on all of mentioned Lua versions.

dockerfile_lint

  •    Javascript

A rule based 'linter' for Dockerfiles. The linter rules can be used to check file syntax as well as arbitrary semantic and best practice attributes determined by the rule file writer. The linter can also be used to check LABEL rules against docker images. Rule files are written in yaml. See the example rule file sample_rules.yaml in the root folder of the project. The rules are implememented using regular expressions, run on one instruction of the dockerfile at a time. The rule file has 4 sections, a profile section, a general section, a line rule section and a required instruction section.