Code
Learn how Vale handles source code.
Vale supports linting source code comments in a number of languages (see below).
C
.c, .h
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
C#
.cs, .csx
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
C++
.cpp, .cc, .cxx, .hpp
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
CSS
.css
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Go
.go
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Haskell
.hs
-- (text.comment.line.ext),
{- (text.comment.block.ext)
Java
.java, .bsh
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
JavaScript
.js
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Julia
.jl
# (text.comment.line.ext),
"..." (text.comment.line.ext)
#= (text.comment.block.ext),
""" (text.comment.block.ext)
LESS
.less
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Lua
.lua
-- (text.comment.line.ext),
--[[ (text.comment.block.ext)
Perl
.pl, .pm, .pod
# (text.comment.line.ext)
PHP
.php
// (text.comment.line.ext),
# (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
PowerShell
.ps1
# (text.comment.line.ext),
<#...#> (text.comment.line.ext),
<# (text.comment.block.ext)
Protobuf
.proto
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Python
.py, .py3, .pyw, .pyi, rpy
# (text.comment.line.ext),
""" (text.comment.block.ext)
R
.r, .R
# (text.comment.line.ext)
Ruby
.rb
# (text.comment.line.ext),
^=begin (text.comment.block.ext)
Rust
.rs
// (text.comment.line.ext)
Sass
.sass
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
Scala
.scala, .sbt
// (text.comment.line.ext)
Swift
.swift
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
TypeScript
.ts, .tsx
// (text.comment.line.ext),
/*...*/ (text.comment.line.ext),
/* (text.comment.block.ext)
In many languages, it’s common for comments to contain embedded markup (e.g., Markdown, reStructuredText, etc.) within them. For example, consider the following Rust doc comment:
If the embedded markup is one of the supported formats, you can associate the comment scope with a markup type. This will allow you to lint the embedded markup as if it were a standalone file.
Once a markup format has been assigned, you can make use of all the supported features of that format (such as ignore patterns and comment-based configuration) in your source code comments.
