DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Using Unblocked to Fix a Service That Nobody Owns
  • Integrate VSCode With Databricks To Build and Run Data Engineering Pipelines and Models
  • How TIBCO Is Evolving Its Platform To Embrace Developers and Simplify Cloud Integration
  • Supercharge Your Communication With Twilio and Ballerina

Trending

  • ChatGPT Code Smell [Comic]
  • Securing Cloud Storage Access: Approach to Limiting Document Access Attempts
  • Secure Your API With JWT: Kong OpenID Connect
  • Maximizing Developer Efficiency and Productivity in 2024: A Personal Toolkit
  1. DZone
  2. Coding
  3. Tools
  4. Lint, Lint and Away! Linters for the English Language

Lint, Lint and Away! Linters for the English Language

If you've used linters before for your code, then you know how useful they can be. This is where grammar meets technology.

By 
Chris Ward user avatar
Chris Ward
DZone Core CORE ·
Feb. 16, 18 · Analysis
Like (17)
Save
Tweet
Share
12.4K Views

Join the DZone community and get the full member experience.

Join For Free

You have probably used linters to check the quality of your code, but there is also a myriad of linters available for providing best practice guidance on your writing. In this post, I’ll round up those that I’ve discovered, what they do, and how you can use them.

Alex

Alex is a single purpose linter to highlight potentially insensitive words on the basis of gender, race, religion or other potentially insensitive language. Such as:

He started the master node and connected two slaves to it.

In this case, Alex would suggest you replace "he" with "they" and use different terms for "master" and "slave."

Alex is available for:

  • npm, that you can also hook up to CI systems.
  • Atom
  • Sublime
  • Visual Studio Code
  • Gulp
  • Slack

Just Say No

Another single purpose linter, Just Say No highlights so-called "hedge words," which can often make your writing sound unconvincing, unconfident, or are unnecessary noise. Such as:

React seems like a good fit for your project.

In this case, the linter would suggest you replace "seems" with something more confident, such as:

React is a good fit for your project.

Just Say No is available for:

  • Atom

Write Good

One of my favorite linters, write good highlights a selection of possible problems with your text, with checks that you can enable or disable. For example:

Just install the package, it’s really easy.

In this case, the linter highlights "just" and "really" as words that weaken the meaning of a sentence.

Write good is available for:

  • npm
  • Atom
  • Drafts
  • Visual Studio Code
  • Sublime

Prose

Proselint's use is a little more vague than some of the others on this list, combining learning from a collection of "great" writers (in quote marks as this is subjective) to help you write better prose. It’s a little unclear what checks it undertakes, but as it works more broadly, analyzing whole sentences instead of individual words, it could help you find issues that other linters mentioned so far won’t.

For example:

In the centre of the center sat a bunch of cats. What were they doing.

In this case, prose would highlight the inconsistent spelling of center/centre and correct "bunch of cats" to "glaring of cats." Here’s a full list of what it checks for.

Prose lint is available for:

  • Python that you can connect to CI systems.
  • Online
  • Sublime
  • Atom
  • Emacs
  • Vim with Ale and Vim with syntastic
  • Phabricator
  • Danger
  • Visual Studio Code
  • coala
  • IntelliJ

Vale

Moving us into the bigger, more configurable linters, Vale combines a series of checks from other linters, and also lets you add your style definitions to check for, which is useful for in-house style guides. Thanks to this feature, others have contributed custom styles for write-good and proselint meaning you can use Vale to manage a selection of linters for you. You can create global or project level configuration files on a project basis that enable specific checks, and it supports more text formats than many of the linters here.

Because of this extensibility, it’s hard to provide a concrete example of what Vale recommends, but for example:

You are not old enough to be published.

Depending on what you’ve enabled, Vale would suggest replacing "not old enough" with "too young" (A "Litotes" check), and "be published" as an example of passive voice.

Vale is available for:

  • Native package
  • Atom
  • Emacs
  • Sublime
  • Visual Studio Code
  • Vim via ALE

Textlint

In a similar vein to Vale, Textlint is pluggable, configurable linter with support for many of the other linters (or similar) mentioned here. By default, nothing is enabled, and you need to create global or project level configuration files for Textlint to check anything. For example:

This is very useful, but how much is TBD.

In this case, the linter highlights "very" and "TBD" (as an unexpanded acronym).

Textlint is available for:

  • npm
  • netbeans
  • Atom
  • Sublime
  • Visual Studio Code
  • Vim

Coala

Again Coala combines several linters, aiming to create an all-in-one linter you can use for your entire project, code as well as documentation. You do this by adding "bears" that are other linters packaged to work with Coala, and this includes many of those on this list.

Coala is available for:

  • Python
  • Docker
  • Git Hooks
  • Atom
  • Sublime
  • Brackets
  • Eclipse
  • Vim
  • Visual Studio Code
  • Emacs

And There Are More!

The list above are my favorite and most commonly used linters, and those with good editor support, but naturally, there are more.

  • Anorack for checking you use the correct indefinite article.
  • Aspell for spell checking as part of your linting process.
  • American for correcting those sneaky British spellings.
  • IBM Style guide a linter for checking your documents against the IBM writing style guide.

Also, honorable mentions for tools like Hemmingway, Grammarly, Nitpicker, and Langauge Tool which I use on a regular basis, but are not optimized for technical writing and are all standalone tools that you can’t hook up to CI, or use with APIs etc.

Visual Studio Code Lint (software) ENGLISH (programming language)

Opinions expressed by DZone contributors are their own.

Related

  • Using Unblocked to Fix a Service That Nobody Owns
  • Integrate VSCode With Databricks To Build and Run Data Engineering Pipelines and Models
  • How TIBCO Is Evolving Its Platform To Embrace Developers and Simplify Cloud Integration
  • Supercharge Your Communication With Twilio and Ballerina

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: