├── .gitignore ├── packages.json ├── README.md ├── .github └── workflows │ └── ci.yml ├── tests └── test_sanity.py ├── last_updated.py ├── check-if-head-is-released.py ├── fetch_all_repos.py ├── org.json └── contrib.json /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | .pytest_cache 3 | linter_repos/ 4 | *.pyc 5 | -------------------------------------------------------------------------------- /packages.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema_version": "3.0.0", 3 | "packages": [], 4 | "includes": [ 5 | "./org.json", 6 | "./contrib.json" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | SublimeLinter package registry 2 | ============================== 3 | 4 | The public registry for SublimeLinter plugin packages. 5 | 6 | To add your linter to Package Control, please open a pull request here. 7 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | tests: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v2 10 | 11 | - name: Setup Python 12 | uses: actions/setup-python@v1 13 | with: 14 | python-version: "3.10" 15 | 16 | - name: Update pip and install pytest 17 | run: | 18 | python -m pip install --upgrade pip 19 | pip install pytest 20 | 21 | - name: Run repository tests 22 | run: pytest 23 | -------------------------------------------------------------------------------- /tests/test_sanity.py: -------------------------------------------------------------------------------- 1 | import json 2 | from pathlib import Path 3 | 4 | import pytest 5 | 6 | 7 | @pytest.fixture 8 | def channel(): 9 | with open(Path("./packages.json")) as f: 10 | yield json.load(f) 11 | 12 | 13 | @pytest.fixture 14 | def repository_paths(channel): 15 | yield list(map(Path, channel["includes"])) 16 | 17 | 18 | @pytest.fixture 19 | def repositories(repository_paths): 20 | rv = [] 21 | for p in repository_paths: 22 | with open(p) as f: 23 | rv.append(json.load(f)) 24 | yield rv 25 | 26 | 27 | def package_name(p): 28 | return ( 29 | p.get("name") 30 | or p["details"].rsplit("/", 1)[-1] 31 | ).lower() 32 | 33 | 34 | def test_sorted(repositories): 35 | for r_ in repositories: 36 | r = r_["packages"] 37 | assert r == sorted(r, key=package_name) 38 | -------------------------------------------------------------------------------- /last_updated.py: -------------------------------------------------------------------------------- 1 | from concurrent.futures import ThreadPoolExecutor 2 | import os 3 | import subprocess 4 | import sys 5 | 6 | 7 | from typing import Dict, List, Optional 8 | 9 | 10 | DEST_DIR = os.path.abspath( 11 | "linter_repos" 12 | if not len(sys.argv) > 1 or sys.argv[1].endswith(".json") 13 | else sys.argv[1] 14 | ) 15 | STARTUPINFO: Optional[subprocess.STARTUPINFO] 16 | if os.name == 'nt': 17 | STARTUPINFO = subprocess.STARTUPINFO() 18 | STARTUPINFO.dwFlags |= ( 19 | subprocess.STARTF_USESTDHANDLES | subprocess.STARTF_USESHOWWINDOW 20 | ) 21 | STARTUPINFO.wShowWindow = subprocess.SW_HIDE 22 | else: 23 | STARTUPINFO = None 24 | 25 | 26 | def execute(args: List[str], cwd: Optional[str]) -> str: 27 | return subprocess.check_output( 28 | args, cwd=cwd, startupinfo=STARTUPINFO, universal_newlines=True, encoding='utf-8' 29 | ) 30 | 31 | 32 | def date_for_head(root: str, name: str) -> Dict[str, str]: 33 | path = os.path.join(root, name) 34 | date = execute(['git', 'log', '-n1', '--format=%aI'], cwd=path).strip() 35 | return {'name': name, 'date': date} 36 | 37 | 38 | with ThreadPoolExecutor() as executor: 39 | futures = [ 40 | executor.submit(date_for_head, DEST_DIR, name) 41 | for name in set(os.listdir(DEST_DIR)) 42 | ] 43 | 44 | results = [f.result() for f in futures] 45 | results = sorted(results, key=lambda r: r['date']) 46 | 47 | for r in results: 48 | print('{} {}'.format(r['date'], r['name'])) 49 | -------------------------------------------------------------------------------- /check-if-head-is-released.py: -------------------------------------------------------------------------------- 1 | from concurrent.futures import ThreadPoolExecutor 2 | import os 3 | import subprocess 4 | import sys 5 | 6 | 7 | from typing import Dict, List, Optional 8 | 9 | 10 | DEST_DIR = os.path.abspath( 11 | "linter_repos" 12 | if not len(sys.argv) > 1 or sys.argv[1].endswith(".json") 13 | else sys.argv[1] 14 | ) 15 | STARTUPINFO: Optional[subprocess.STARTUPINFO] 16 | if os.name == 'nt': 17 | STARTUPINFO = subprocess.STARTUPINFO() 18 | STARTUPINFO.dwFlags |= ( 19 | subprocess.STARTF_USESTDHANDLES | subprocess.STARTF_USESHOWWINDOW 20 | ) 21 | STARTUPINFO.wShowWindow = subprocess.SW_HIDE 22 | else: 23 | STARTUPINFO = None 24 | 25 | 26 | def execute(args: List[str], cwd: Optional[str]) -> str: 27 | return subprocess.check_output( 28 | args, 29 | cwd=cwd, 30 | startupinfo=STARTUPINFO, 31 | universal_newlines=True, 32 | encoding='utf-8', 33 | stderr=subprocess.PIPE, 34 | ) 35 | 36 | 37 | def describe_head(root: str, name: str) -> Dict[str, str]: 38 | path = os.path.join(root, name) 39 | try: 40 | tag = execute(['git', 'describe', '--exact-match', '--tags'], cwd=path).strip() 41 | except subprocess.CalledProcessError: 42 | return {'name': name} 43 | return {'name': name, 'tag': tag} 44 | 45 | 46 | with ThreadPoolExecutor() as executor: 47 | futures = [ 48 | executor.submit(describe_head, DEST_DIR, name) 49 | for name in set(os.listdir(DEST_DIR)) 50 | ] 51 | 52 | results = [f.result() for f in futures] 53 | results = sorted(results, key=lambda r: r['name']) 54 | 55 | for r in results: 56 | if 'tag' in r: 57 | print('{} {}'.format(r['name'], r['tag'])) 58 | 59 | print('\n\n') 60 | for r in results: 61 | if 'tag' not in r: 62 | print('{} release pending'.format(r['name'])) 63 | -------------------------------------------------------------------------------- /fetch_all_repos.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | """ 4 | Usage: 5 | - Zero arguments in the root of this repo: 6 | fetch_all_repos.py 7 | as shortcut for 8 | fetch_all_repos.py linter_repos org.json contrib.json 9 | 10 | - Multiple .json files can be used: 11 | fetch_all_repos.py org.json contrib.json 12 | 13 | - To output repos to a different dir use, path as first arg: 14 | fetch_all_repos.py other/dest/folder/ org.json contrib.json 15 | 16 | - To just check repository URLs, use: 17 | fetch_all_repos.py --check org.json contrib.json 18 | 19 | Note: In case of missing URLs Exit code will be non-zero. 20 | This is useful for automatic tests. 21 | 22 | """ 23 | from concurrent.futures import ThreadPoolExecutor 24 | from functools import partial, wraps 25 | import json 26 | import os 27 | import shutil 28 | import sys 29 | import subprocess 30 | import urllib.request 31 | 32 | from typing import Callable, Iterator, List, Optional, TypedDict, TypeVar 33 | 34 | 35 | T = TypeVar('T') 36 | Url = str 37 | 38 | 39 | class Package(TypedDict): 40 | name: Optional[str] 41 | url: Url 42 | 43 | 44 | class Result(TypedDict, total=False): 45 | mode: str 46 | url: Url 47 | success: bool 48 | messages: List[str] 49 | 50 | 51 | # some constants 52 | try: 53 | sys.argv.remove('--check') 54 | except ValueError: 55 | CHECK_MODE = False 56 | else: 57 | CHECK_MODE = True 58 | 59 | FILES = list( 60 | map( 61 | os.path.abspath, # type: ignore[arg-type] 62 | [arg for arg in sys.argv if arg.endswith(".json")] 63 | or ['org.json', 'contrib.json'], 64 | ) 65 | ) # type: List[str] 66 | DEST_DIR = os.path.abspath( 67 | "linter_repos" 68 | if not len(sys.argv) > 1 or sys.argv[1].endswith(".json") 69 | else sys.argv[1] 70 | ) 71 | SL_URL = "https://github.com/SublimeLinter/SublimeLinter" 72 | 73 | STARTUPINFO: Optional[subprocess.STARTUPINFO] 74 | if os.name == 'nt': 75 | STARTUPINFO = subprocess.STARTUPINFO() 76 | STARTUPINFO.dwFlags |= ( 77 | subprocess.STARTF_USESTDHANDLES | subprocess.STARTF_USESHOWWINDOW 78 | ) 79 | STARTUPINFO.wShowWindow = subprocess.SW_HIDE 80 | else: 81 | STARTUPINFO = None 82 | 83 | 84 | def ensure_dir(dir): 85 | if not os.path.exists(dir): 86 | os.makedirs(dir) 87 | 88 | 89 | def url_ok(url): 90 | return urllib.request.urlopen(url).getcode() == 200 91 | 92 | 93 | def execute(args: List[str], cwd: Optional[str]) -> str: 94 | return subprocess.check_output( 95 | args, 96 | cwd=cwd, 97 | stderr=subprocess.STDOUT, 98 | startupinfo=STARTUPINFO, 99 | universal_newlines=True, 100 | encoding='utf-8', 101 | ) 102 | 103 | 104 | def catch_errors(fn: Callable[..., T]) -> Callable[..., T]: 105 | @wraps(fn) 106 | def wrapper(*args, package, **kwargs): 107 | try: 108 | return fn(*args, package=package, **kwargs) 109 | except subprocess.CalledProcessError: 110 | return {'mode': fn.__name__, 'url': package['url'], 'success': False} 111 | 112 | return wrapper 113 | 114 | 115 | def clone_or_pull(dest: str, *, package: Package) -> Result: 116 | name = get_name(package) 117 | if os.path.exists(os.path.join(dest, name, '.git')): 118 | return pull(dest, package=package) 119 | else: 120 | return clone(dest, package=package) 121 | 122 | 123 | def get_name(package: Package) -> str: 124 | return package['name'] or package['url'].rsplit('/')[-1] 125 | 126 | 127 | @catch_errors 128 | def pull(dest: str, *, package: Package) -> Result: 129 | url = package['url'] 130 | cwd = os.path.join(dest, get_name(package)) 131 | rv = execute(['git', 'pull'], cwd=cwd).rstrip() 132 | print(url, " " + rv) 133 | return {'mode': 'pull', 'url': url, 'success': True} 134 | 135 | 136 | @catch_errors 137 | def clone(dest: str, *, package: Package) -> Result: 138 | url = package['url'] 139 | execute(['git', 'clone', url, get_name(package)], cwd=dest) 140 | return {'mode': 'clone', 'url': url, 'success': True} 141 | 142 | 143 | # @catch_errors 144 | def check(*, package: Package) -> Result: 145 | url = package['url'] 146 | try: 147 | execute(["git", "ls-remote", url], cwd=None) 148 | except subprocess.CalledProcessError as err: 149 | messages = [err.output] 150 | else: 151 | messages = [] 152 | 153 | if not package['name']: 154 | messages += ['No package name specified'] 155 | 156 | return {'mode': 'check', 'url': url, 'success': not messages, 'messages': messages} 157 | 158 | 159 | def extract_urls(file: str) -> Iterator[Package]: 160 | with open(file, "r", encoding="utf-8") as f: 161 | js = json.load(f) 162 | packages = js["packages"] 163 | for p in packages: 164 | yield {'url': p['details'], 'name': p.get('name')} 165 | 166 | 167 | # execution 168 | if not CHECK_MODE: 169 | ensure_dir(DEST_DIR) 170 | 171 | packages = [ 172 | package 173 | for file in FILES 174 | for package in extract_urls(file) 175 | if package['url'] != SL_URL 176 | ] 177 | 178 | 179 | removed_packages = set(os.listdir(DEST_DIR)) - {'SublimeLinter'} - { 180 | get_name(package) for package in packages 181 | } 182 | for dir in removed_packages: 183 | final_dir = os.path.join(DEST_DIR, dir) 184 | if os.path.exists(final_dir): 185 | print('Remove orphaned package {}'.format(final_dir)) 186 | try: 187 | shutil.rmtree(os.path.join(DEST_DIR, dir)) 188 | except Exception as err: 189 | print(err) 190 | 191 | action: Callable[[Package], Result] 192 | action = check if CHECK_MODE else partial(clone_or_pull, DEST_DIR) # type: ignore 193 | with ThreadPoolExecutor() as executor: 194 | futures = [executor.submit(action, package=package) for package in packages] 195 | 196 | results: List[Result] = [f.result() for f in futures] 197 | 198 | 199 | # generate report 200 | 201 | print("\n") 202 | print("Found {} packages".format(len(packages))) 203 | if CHECK_MODE: 204 | checked = [r for r in results if r['mode'] == 'check' and r['success']] 205 | print("Checked {} repositories".format(len(checked))) 206 | else: 207 | cloned = [r for r in results if r['mode'] == 'clone' and r['success']] 208 | pulled = [r for r in results if r['mode'] == 'pull' and r['success']] 209 | print("Cloned {} repositories".format(len(cloned))) 210 | print("Pulled {} repositories".format(len(pulled))) 211 | 212 | failed = [r for r in results if not r['success']] 213 | print( 214 | "{} repositories failed\n{}".format( 215 | len(failed), 216 | '\n'.join( 217 | "{}\n{}\n".format( 218 | r['url'], '\n'.join('- {}'.format(m) for m in r.get('messages', [])) 219 | ) 220 | for r in failed 221 | ), 222 | ) 223 | ) 224 | 225 | if failed: 226 | sys.exit(1) 227 | -------------------------------------------------------------------------------- /org.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema_version": "3.0.0", 3 | "packages": [ 4 | { 5 | "name": "SublimeLinter", 6 | "details": "https://github.com/SublimeLinter/SublimeLinter", 7 | "donate": "https://paypal.me/herrkaste", 8 | "labels": ["linting", "SublimeLinter"], 9 | "previous_names": ["SublimeLinter Beta"], 10 | "releases": [ 11 | { 12 | "base": "https://github.com/SublimeLinter/SublimeLinter-for-ST2", 13 | "sublime_text": "<3000", 14 | "tags": true 15 | }, 16 | { 17 | "sublime_text": "3000 - 3999", 18 | "tags": "st3-" 19 | }, 20 | { 21 | "sublime_text": ">=4000", 22 | "tags": true 23 | } 24 | ] 25 | }, 26 | { 27 | "details": "https://github.com/SublimeLinter/SublimeLinter-annotations", 28 | "labels": ["linting", "SublimeLinter"], 29 | "releases": [ 30 | { 31 | "sublime_text": "3000 - 3999", 32 | "tags": "st3-" 33 | }, 34 | { 35 | "sublime_text": ">=4000", 36 | "tags": true 37 | } 38 | ] 39 | }, 40 | { 41 | "details": "https://github.com/SublimeLinter/SublimeLinter-bandit", 42 | "labels": ["linting", "SublimeLinter", "python", "security"], 43 | "releases": [ 44 | { 45 | "sublime_text": "3000 - 3999", 46 | "tags": "st3-" 47 | }, 48 | { 49 | "sublime_text": ">=4000", 50 | "tags": true 51 | } 52 | ] 53 | }, 54 | { 55 | "details": "https://github.com/SublimeLinter/SublimeLinter-chktex", 56 | "labels": ["linting", "SublimeLinter", "latex"], 57 | "releases": [ 58 | { 59 | "sublime_text": "3000 - 3999", 60 | "tags": "st3-" 61 | }, 62 | { 63 | "sublime_text": ">=4000", 64 | "tags": true 65 | } 66 | ] 67 | }, 68 | { 69 | "details": "https://github.com/SublimeLinter/SublimeLinter-clang", 70 | "labels": ["linting", "SublimeLinter", "clang", "c", "c++"], 71 | "previous_names": ["SublimeLinter-contrib-clang"], 72 | "releases": [ 73 | { 74 | "sublime_text": "3000 - 3999", 75 | "tags": "st3-" 76 | }, 77 | { 78 | "sublime_text": ">=4000", 79 | "tags": true 80 | } 81 | ] 82 | }, 83 | { 84 | "details": "https://github.com/SublimeLinter/SublimeLinter-coffee", 85 | "labels": ["linting", "SublimeLinter", "coffeescript"], 86 | "releases": [ 87 | { 88 | "sublime_text": "3000 - 3999", 89 | "tags": "st3-" 90 | }, 91 | { 92 | "sublime_text": ">=4000", 93 | "tags": true 94 | } 95 | ] 96 | }, 97 | { 98 | "details": "https://github.com/SublimeLinter/SublimeLinter-coffeelint", 99 | "labels": ["linting", "SublimeLinter", "coffeescript"], 100 | "releases": [ 101 | { 102 | "sublime_text": "3000 - 3999", 103 | "tags": "st3-" 104 | }, 105 | { 106 | "sublime_text": ">=4000", 107 | "tags": true 108 | } 109 | ] 110 | }, 111 | { 112 | "details": "https://github.com/SublimeLinter/SublimeLinter-cppcheck", 113 | "labels": ["linting", "SublimeLinter", "c++"], 114 | "releases": [ 115 | { 116 | "sublime_text": "3000 - 3999", 117 | "tags": "st3-" 118 | }, 119 | { 120 | "sublime_text": ">=4000", 121 | "tags": true 122 | } 123 | ] 124 | }, 125 | { 126 | "details": "https://github.com/SublimeLinter/SublimeLinter-cpplint", 127 | "labels": ["linting", "SublimeLinter", "c++"], 128 | "releases": [ 129 | { 130 | "sublime_text": "3000 - 3999", 131 | "tags": "st3-" 132 | }, 133 | { 134 | "sublime_text": ">=4000", 135 | "tags": true 136 | } 137 | ] 138 | }, 139 | { 140 | "name": "SublimeLinter-cspell", 141 | "details": "https://github.com/SublimeLinter/SublimeLinter-cspell", 142 | "previous_names": ["SublimeLinter-contrib-SpellCheckLinter"], 143 | "labels": ["linting", "SublimeLinter", "cspell", "spell"], 144 | "releases": [ 145 | { 146 | "sublime_text": "3000 - 3999", 147 | "tags": "st3-" 148 | }, 149 | { 150 | "sublime_text": ">=4000", 151 | "tags": true 152 | } 153 | ] 154 | }, 155 | { 156 | "details": "https://github.com/SublimeLinter/SublimeLinter-csslint", 157 | "labels": ["linting", "SublimeLinter", "css"], 158 | "releases": [ 159 | { 160 | "sublime_text": "3000 - 3999", 161 | "tags": "st3-" 162 | }, 163 | { 164 | "sublime_text": ">=4000", 165 | "tags": true 166 | } 167 | ] 168 | }, 169 | { 170 | "name": "SublimeLinter-erblint", 171 | "details": "https://github.com/SublimeLinter/SublimeLinter-erblint", 172 | "labels": ["linting", "SublimeLinter", "erblint", "erb"], 173 | "previous_names": ["SublimeLinter-contrib-erblint"], 174 | "releases": [ 175 | { 176 | "sublime_text": "3000 - 3999", 177 | "tags": "st3-" 178 | }, 179 | { 180 | "sublime_text": ">=4000", 181 | "tags": true 182 | } 183 | ] 184 | }, 185 | { 186 | "name": "SublimeLinter-erlc", 187 | "details": "https://github.com/SublimeLinter/SublimeLinter-erlc", 188 | "labels": ["linting", "SublimeLinter", "erlc", "erlang"], 189 | "previous_names": ["SublimeLinter-contrib-erlc"], 190 | "releases": [ 191 | { 192 | "sublime_text": "3000 - 3999", 193 | "tags": "st3-" 194 | }, 195 | { 196 | "sublime_text": ">=4000", 197 | "tags": true 198 | } 199 | ] 200 | }, 201 | { 202 | "name": "SublimeLinter-eslint", 203 | "details": "https://github.com/SublimeLinter/SublimeLinter-eslint", 204 | "labels": ["linting", "SublimeLinter", "eslint"], 205 | "previous_names": ["SublimeLinter-contrib-eslint"], 206 | "releases": [ 207 | { 208 | "sublime_text": "3000 - 3999", 209 | "tags": "st3-" 210 | }, 211 | { 212 | "sublime_text": ">=4000", 213 | "tags": true 214 | } 215 | ] 216 | }, 217 | { 218 | "details": "https://github.com/SublimeLinter/SublimeLinter-flake8", 219 | "labels": ["linting", "SublimeLinter", "python"], 220 | "releases": [ 221 | { 222 | "sublime_text": "3000 - 3999", 223 | "tags": "st3-" 224 | }, 225 | { 226 | "sublime_text": ">=4000", 227 | "tags": true 228 | } 229 | ] 230 | }, 231 | { 232 | "details": "https://github.com/SublimeLinter/SublimeLinter-flow", 233 | "labels": ["linting", "SublimeLinter", "javascript"], 234 | "releases": [ 235 | { 236 | "sublime_text": "3000 - 3999", 237 | "tags": "st3-" 238 | }, 239 | { 240 | "sublime_text": ">=4000", 241 | "tags": true 242 | } 243 | ] 244 | }, 245 | { 246 | "name": "SublimeLinter-gcc", 247 | "details": "https://github.com/SublimeLinter/SublimeLinter-gcc", 248 | "labels": ["linting", "SublimeLinter", "clang", "c++"], 249 | "previous_names": ["SublimeLinter-contrib-gcc"], 250 | "releases": [ 251 | { 252 | "sublime_text": "3000 - 3999", 253 | "tags": "st3-" 254 | }, 255 | { 256 | "sublime_text": ">=4000", 257 | "tags": true 258 | } 259 | ] 260 | }, 261 | { 262 | "details": "https://github.com/SublimeLinter/SublimeLinter-ghc", 263 | "labels": ["linting", "SublimeLinter", "haskell"], 264 | "releases": [ 265 | { 266 | "sublime_text": "3000 - 3999", 267 | "tags": "st3-" 268 | }, 269 | { 270 | "sublime_text": ">=4000", 271 | "tags": true 272 | } 273 | ] 274 | }, 275 | { 276 | "details": "https://github.com/SublimeLinter/SublimeLinter-gjslint", 277 | "labels": ["linting", "SublimeLinter", "javascript"], 278 | "releases": [ 279 | { 280 | "sublime_text": "3000 - 3999", 281 | "tags": "st3-" 282 | }, 283 | { 284 | "sublime_text": ">=4000", 285 | "tags": true 286 | } 287 | ] 288 | }, 289 | { 290 | "name": "SublimeLinter-golangcilint", 291 | "details": "https://github.com/SublimeLinter/SublimeLinter-golangcilint", 292 | "labels": ["linting", "SublimeLinter", "go", "golang"], 293 | "releases": [ 294 | { 295 | "sublime_text": "3000 - 3999", 296 | "tags": "st3-" 297 | }, 298 | { 299 | "sublime_text": ">=4000", 300 | "tags": true 301 | } 302 | ] 303 | }, 304 | { 305 | "name": "SublimeLinter-golint", 306 | "details": "https://github.com/SublimeLinter/SublimeLinter-golint", 307 | "labels": ["linting", "SublimeLinter", "go"], 308 | "previous_names": ["SublimeLinter-contrib-golint"], 309 | "releases": [ 310 | { 311 | "sublime_text": "3000 - 3999", 312 | "tags": "st3-" 313 | }, 314 | { 315 | "sublime_text": ">=4000", 316 | "tags": true 317 | } 318 | ] 319 | }, 320 | { 321 | "name": "SublimeLinter-gotype", 322 | "details": "https://github.com/SublimeLinter/SublimeLinter-gotype", 323 | "previous_names": ["SublimeLinter-contrib-gotype"], 324 | "labels": ["linting", "SublimeLinter", "go"], 325 | "releases": [ 326 | { 327 | "sublime_text": "3000 - 3999", 328 | "tags": "st3-" 329 | }, 330 | { 331 | "sublime_text": ">=4000", 332 | "tags": true 333 | } 334 | ] 335 | }, 336 | { 337 | "name": "SublimeLinter-govet", 338 | "details": "https://github.com/SublimeLinter/SublimeLinter-govet", 339 | "labels": ["linting", "SublimeLinter", "go"], 340 | "previous_names": ["SublimeLinter-contrib-govet"], 341 | "releases": [ 342 | { 343 | "sublime_text": "3000 - 3999", 344 | "tags": "st3-" 345 | }, 346 | { 347 | "sublime_text": ">=4000", 348 | "tags": true 349 | } 350 | ] 351 | }, 352 | { 353 | "details": "https://github.com/SublimeLinter/SublimeLinter-haml", 354 | "labels": ["linting", "SublimeLinter", "haml"], 355 | "releases": [ 356 | { 357 | "sublime_text": "3000 - 3999", 358 | "tags": "st3-" 359 | }, 360 | { 361 | "sublime_text": ">=4000", 362 | "tags": true 363 | } 364 | ] 365 | }, 366 | { 367 | "details": "https://github.com/SublimeLinter/SublimeLinter-haml-lint", 368 | "labels": ["linting", "SublimeLinter", "haml"], 369 | "previous_names": ["SublimeLinter-contrib-haml-lint"], 370 | "releases": [ 371 | { 372 | "sublime_text": "3000 - 3999", 373 | "tags": "st3-" 374 | }, 375 | { 376 | "sublime_text": ">=4000", 377 | "tags": true 378 | } 379 | ] 380 | }, 381 | { 382 | "details": "https://github.com/SublimeLinter/SublimeLinter-hlint", 383 | "labels": ["linting", "SublimeLinter", "haskell"], 384 | "releases": [ 385 | { 386 | "sublime_text": "3000 - 3999", 387 | "tags": "st3-" 388 | }, 389 | { 390 | "sublime_text": ">=4000", 391 | "tags": true 392 | } 393 | ] 394 | }, 395 | { 396 | "details": "https://github.com/SublimeLinter/SublimeLinter-html-tidy", 397 | "labels": ["linting", "SublimeLinter", "html"], 398 | "releases": [ 399 | { 400 | "sublime_text": "3000 - 3999", 401 | "tags": "st3-" 402 | }, 403 | { 404 | "sublime_text": ">=4000", 405 | "tags": true 406 | } 407 | ] 408 | }, 409 | { 410 | "details": "https://github.com/SublimeLinter/SublimeLinter-javac", 411 | "labels": ["linting", "SublimeLinter", "java"], 412 | "releases": [ 413 | { 414 | "sublime_text": "3000 - 3999", 415 | "tags": "st3-" 416 | }, 417 | { 418 | "sublime_text": ">=4000", 419 | "tags": true 420 | } 421 | ] 422 | }, 423 | { 424 | "details": "https://github.com/SublimeLinter/SublimeLinter-jscs", 425 | "labels": ["linting", "SublimeLinter", "javascript"], 426 | "releases": [ 427 | { 428 | "sublime_text": "3000 - 3999", 429 | "tags": "st3-" 430 | }, 431 | { 432 | "sublime_text": ">=4000", 433 | "tags": true 434 | } 435 | ] 436 | }, 437 | { 438 | "details": "https://github.com/SublimeLinter/SublimeLinter-jshint", 439 | "labels": ["linting", "SublimeLinter", "javascript"], 440 | "releases": [ 441 | { 442 | "sublime_text": "3000 - 3999", 443 | "tags": "st3-" 444 | }, 445 | { 446 | "sublime_text": ">=4000", 447 | "tags": true 448 | } 449 | ] 450 | }, 451 | { 452 | "details": "https://github.com/SublimeLinter/SublimeLinter-jsl", 453 | "labels": ["linting", "SublimeLinter", "javascript"], 454 | "releases": [ 455 | { 456 | "sublime_text": "3000 - 3999", 457 | "tags": "st3-" 458 | }, 459 | { 460 | "sublime_text": ">=4000", 461 | "tags": true 462 | } 463 | ] 464 | }, 465 | { 466 | "details": "https://github.com/SublimeLinter/SublimeLinter-json", 467 | "labels": ["linting", "SublimeLinter", "json"], 468 | "releases": [ 469 | { 470 | "sublime_text": "3000 - 3999", 471 | "tags": "st3-" 472 | }, 473 | { 474 | "sublime_text": ">=4000", 475 | "tags": true 476 | } 477 | ] 478 | }, 479 | { 480 | "details": "https://github.com/SublimeLinter/SublimeLinter-jsxhint", 481 | "labels": ["linting", "SublimeLinter", "javascript"], 482 | "releases": [ 483 | { 484 | "sublime_text": "3000 - 3999", 485 | "tags": "st3-" 486 | }, 487 | { 488 | "sublime_text": ">=4000", 489 | "tags": true 490 | } 491 | ] 492 | }, 493 | { 494 | "details": "https://github.com/SublimeLinter/SublimeLinter-lua", 495 | "labels": ["linting", "SublimeLinter", "lua"], 496 | "releases": [ 497 | { 498 | "sublime_text": "3000 - 3999", 499 | "tags": "st3-" 500 | }, 501 | { 502 | "sublime_text": ">=4000", 503 | "tags": true 504 | } 505 | ] 506 | }, 507 | { 508 | "details": "https://github.com/SublimeLinter/SublimeLinter-luacheck", 509 | "labels": ["linting", "SublimeLinter", "lua"], 510 | "releases": [ 511 | { 512 | "sublime_text": "3000 - 3999", 513 | "tags": "st3-" 514 | }, 515 | { 516 | "sublime_text": ">=4000", 517 | "tags": true 518 | } 519 | ] 520 | }, 521 | { 522 | "name": "SublimeLinter-mdl", 523 | "previous_names": ["SublimeLinter-contrib-mdl"], 524 | "details": "https://github.com/SublimeLinter/SublimeLinter-mdl", 525 | "labels": ["linting", "SublimeLinter", "mdl", "markdown"], 526 | "releases": [ 527 | { 528 | "sublime_text": "3000 - 3999", 529 | "tags": "st3-" 530 | }, 531 | { 532 | "sublime_text": ">=4000", 533 | "tags": true 534 | } 535 | ] 536 | }, 537 | { 538 | "name": "SublimeLinter-mypy", 539 | "previous_names": ["SublimeLinter-contrib-mypy"], 540 | "details": "https://github.com/SublimeLinter/SublimeLinter-mypy", 541 | "labels": ["linting", "SublimeLinter", "python"], 542 | "releases": [ 543 | { 544 | "sublime_text": "3000 - 3999", 545 | "tags": "st3-" 546 | }, 547 | { 548 | "sublime_text": ">=4000", 549 | "tags": true 550 | } 551 | ] 552 | }, 553 | { 554 | "details": "https://github.com/SublimeLinter/SublimeLinter-pep8", 555 | "labels": ["linting", "SublimeLinter", "python"], 556 | "releases": [ 557 | { 558 | "sublime_text": "3000 - 3999", 559 | "tags": "st3-" 560 | }, 561 | { 562 | "sublime_text": ">=4000", 563 | "tags": true 564 | } 565 | ] 566 | }, 567 | { 568 | "details": "https://github.com/SublimeLinter/SublimeLinter-php", 569 | "labels": ["linting", "SublimeLinter", "php"], 570 | "releases": [ 571 | { 572 | "sublime_text": "3000 - 3999", 573 | "tags": "st3-" 574 | }, 575 | { 576 | "sublime_text": ">=4000", 577 | "tags": true 578 | } 579 | ] 580 | }, 581 | { 582 | "details": "https://github.com/SublimeLinter/SublimeLinter-php-cs-fixer", 583 | "previous_names": ["SublimeLinter-contrib-php-cs-fixer"], 584 | "labels": ["linting", "SublimeLinter", "php", "php-cs-fixer"], 585 | "releases": [ 586 | { 587 | "sublime_text": "3000 - 3999", 588 | "tags": "st3-" 589 | }, 590 | { 591 | "sublime_text": ">=4000", 592 | "tags": true 593 | } 594 | ] 595 | }, 596 | { 597 | "details": "https://github.com/SublimeLinter/SublimeLinter-phpcs", 598 | "labels": ["linting", "SublimeLinter", "phpcs", "php"], 599 | "releases": [ 600 | { 601 | "sublime_text": "3000 - 3999", 602 | "tags": "st3-" 603 | }, 604 | { 605 | "sublime_text": ">=4000", 606 | "tags": true 607 | } 608 | ] 609 | }, 610 | { 611 | "details": "https://github.com/SublimeLinter/SublimeLinter-phplint", 612 | "labels": ["linting", "SublimeLinter", "php"], 613 | "releases": [ 614 | { 615 | "sublime_text": "3000 - 3999", 616 | "tags": "st3-" 617 | }, 618 | { 619 | "sublime_text": ">=4000", 620 | "tags": true 621 | } 622 | ] 623 | }, 624 | { 625 | "details": "https://github.com/SublimeLinter/SublimeLinter-phpmd", 626 | "labels": ["linting", "SublimeLinter", "phpmd", "php"], 627 | "releases": [ 628 | { 629 | "sublime_text": "3000 - 3999", 630 | "tags": "st3-" 631 | }, 632 | { 633 | "sublime_text": ">=4000", 634 | "tags": true 635 | } 636 | ] 637 | }, 638 | { 639 | "name": "SublimeLinter-pug-lint", 640 | "details": "https://github.com/SublimeLinter/SublimeLinter-pug-lint", 641 | "labels": ["linting", "SublimeLinter", "jade", "pug"], 642 | "previous_names": ["SublimeLinter-contrib-jade-lint", "SublimeLinter-contrib-pug-lint"], 643 | "releases": [ 644 | { 645 | "sublime_text": "3000 - 3999", 646 | "tags": "st3-" 647 | }, 648 | { 649 | "sublime_text": ">=4000", 650 | "tags": true 651 | } 652 | ] 653 | }, 654 | { 655 | "details": "https://github.com/SublimeLinter/SublimeLinter-pycodestyle", 656 | "labels": ["linting", "SublimeLinter", "python", "pep8"], 657 | "releases": [ 658 | { 659 | "sublime_text": "3000 - 3999", 660 | "tags": "st3-" 661 | }, 662 | { 663 | "sublime_text": ">=4000", 664 | "tags": true 665 | } 666 | ] 667 | }, 668 | { 669 | "details": "https://github.com/SublimeLinter/SublimeLinter-pydocstyle", 670 | "labels": ["linting", "SublimeLinter", "python", "pep257"], 671 | "previous_names": ["SublimeLinter-pep257"], 672 | "releases": [ 673 | { 674 | "sublime_text": "3000 - 3999", 675 | "tags": "st3-" 676 | }, 677 | { 678 | "sublime_text": ">=4000", 679 | "tags": true 680 | } 681 | ] 682 | }, 683 | { 684 | "details": "https://github.com/SublimeLinter/SublimeLinter-pyflakes", 685 | "labels": ["linting", "SublimeLinter", "python"], 686 | "releases": [ 687 | { 688 | "sublime_text": "3000 - 3999", 689 | "tags": "st3-" 690 | }, 691 | { 692 | "sublime_text": ">=4000", 693 | "tags": true 694 | } 695 | ] 696 | }, 697 | { 698 | "details": "https://github.com/SublimeLinter/SublimeLinter-pylint", 699 | "labels": ["linting", "SublimeLinter", "python"], 700 | "releases": [ 701 | { 702 | "sublime_text": "3000 - 3999", 703 | "tags": "st3-" 704 | }, 705 | { 706 | "sublime_text": ">=4000", 707 | "tags": true 708 | } 709 | ] 710 | }, 711 | { 712 | "details": "https://github.com/SublimeLinter/SublimeLinter-pyyaml", 713 | "labels": ["linting", "SublimeLinter", "python"], 714 | "releases": [ 715 | { 716 | "sublime_text": "3000 - 3999", 717 | "tags": "st3-" 718 | }, 719 | { 720 | "sublime_text": ">=4000", 721 | "tags": true 722 | } 723 | ] 724 | }, 725 | { 726 | "name": "SublimeLinter-raml-cop", 727 | "details": "https://github.com/SublimeLinter/SublimeLinter-raml-cop", 728 | "labels": ["linting", "SublimeLinter", "raml"], 729 | "previous_names": ["SublimeLinter-contrib-raml-cop"], 730 | "releases": [ 731 | { 732 | "sublime_text": "3000 - 3999", 733 | "tags": "st3-" 734 | }, 735 | { 736 | "sublime_text": ">=4000", 737 | "tags": true 738 | } 739 | ] 740 | }, 741 | { 742 | "details": "https://github.com/SublimeLinter/SublimeLinter-rome", 743 | "labels": ["linting", "SublimeLinter", "rome"], 744 | "releases": [ 745 | { 746 | "sublime_text": "3000 - 3999", 747 | "tags": "st3-" 748 | }, 749 | { 750 | "sublime_text": ">=4000", 751 | "tags": true 752 | } 753 | ] 754 | }, 755 | { 756 | "details": "https://github.com/SublimeLinter/SublimeLinter-rst", 757 | "labels": ["linting", "SublimeLinter", "restructuredtext", "rst"], 758 | "releases": [ 759 | { 760 | "sublime_text": "3000 - 3999", 761 | "tags": "st3-" 762 | }, 763 | { 764 | "sublime_text": ">=4000", 765 | "tags": true 766 | } 767 | ] 768 | }, 769 | { 770 | "details": "https://github.com/SublimeLinter/SublimeLinter-rubocop", 771 | "labels": ["linting", "SublimeLinter", "ruby"], 772 | "releases": [ 773 | { 774 | "sublime_text": "3000 - 3999", 775 | "tags": "st3-" 776 | }, 777 | { 778 | "sublime_text": ">=4000", 779 | "tags": true 780 | } 781 | ] 782 | }, 783 | { 784 | "details": "https://github.com/SublimeLinter/SublimeLinter-ruby", 785 | "labels": ["linting", "SublimeLinter", "ruby"], 786 | "releases": [ 787 | { 788 | "sublime_text": "3000 - 3999", 789 | "tags": "st3-" 790 | }, 791 | { 792 | "sublime_text": ">=4000", 793 | "tags": true 794 | } 795 | ] 796 | }, 797 | { 798 | "details": "https://github.com/SublimeLinter/SublimeLinter-shellcheck", 799 | "labels": ["linting", "SublimeLinter", "bash"], 800 | "releases": [ 801 | { 802 | "sublime_text": "3000 - 3999", 803 | "tags": "st3-" 804 | }, 805 | { 806 | "sublime_text": ">=4000", 807 | "tags": true 808 | } 809 | ] 810 | }, 811 | { 812 | "name": "SublimeLinter-stylelint", 813 | "previous_names": ["SublimeLinter-contrib-stylelint"], 814 | "details": "https://github.com/SublimeLinter/SublimeLinter-stylelint", 815 | "labels": ["linting", "SublimeLinter", "css", "css3", "less", "sass", "scss"], 816 | "releases": [ 817 | { 818 | "sublime_text": "3000 - 3999", 819 | "tags": "st3-" 820 | }, 821 | { 822 | "sublime_text": ">=4000", 823 | "tags": true 824 | } 825 | ] 826 | }, 827 | { 828 | "name": "SublimeLinter-tslint", 829 | "previous_names": ["SublimeLinter-contrib-tslint"], 830 | "details": "https://github.com/SublimeLinter/SublimeLinter-tslint", 831 | "labels": ["linting", "SublimeLinter", "typescript"], 832 | "releases": [ 833 | { 834 | "sublime_text": "3000 - 3999", 835 | "tags": "st3-" 836 | }, 837 | { 838 | "sublime_text": ">=4000", 839 | "tags": true 840 | } 841 | ] 842 | }, 843 | { 844 | "name": "SublimeLinter-vale", 845 | "previous_names": ["SublimeLinter-contrib-vale"], 846 | "details": "https://github.com/SublimeLinter/SublimeLinter-vale", 847 | "labels": ["linting", "SublimeLinter", "markdown", "plain text", "prose"], 848 | "releases": [ 849 | { 850 | "sublime_text": "3000 - 3999", 851 | "tags": "st3-" 852 | }, 853 | { 854 | "sublime_text": ">=4000", 855 | "tags": true 856 | } 857 | ] 858 | }, 859 | { 860 | "details": "https://github.com/SublimeLinter/SublimeLinter-xmllint", 861 | "labels": ["linting", "SublimeLinter", "xml"], 862 | "releases": [ 863 | { 864 | "sublime_text": "3000 - 3999", 865 | "tags": "st3-" 866 | }, 867 | { 868 | "sublime_text": ">=4000", 869 | "tags": true 870 | } 871 | ] 872 | } 873 | ] 874 | } 875 | -------------------------------------------------------------------------------- /contrib.json: -------------------------------------------------------------------------------- 1 | { 2 | "schema_version": "3.0.0", 3 | "packages": [ 4 | { 5 | "name": "SublimeLinter-addon-black-for-flake", 6 | "details": "https://github.com/kaste/SublimeLinter-addon-black-for-flake", 7 | "labels": ["linting", "SublimeLinter", "addon"], 8 | "releases": [ 9 | { 10 | "sublime_text": "3000 - 3999", 11 | "tags": "st3-" 12 | }, 13 | { 14 | "sublime_text": ">=4000", 15 | "tags": true 16 | } 17 | ] 18 | }, 19 | { 20 | "name": "SublimeLinter-addon-filter", 21 | "details": "https://github.com/kaste/SublimeLinter-addon-filter", 22 | "labels": ["linting", "SublimeLinter", "addon"], 23 | "releases": [ 24 | { 25 | "sublime_text": "3000 - 3999", 26 | "tags": "st3-" 27 | }, 28 | { 29 | "sublime_text": ">=4000", 30 | "tags": true 31 | } 32 | ] 33 | }, 34 | { 35 | "name": "SublimeLinter-addon-goto-flash", 36 | "details": "https://github.com/kaste/SublimeLinter-addon-goto-flash", 37 | "labels": ["linting", "SublimeLinter", "addon"], 38 | "releases": [ 39 | { 40 | "sublime_text": "3000 - 3999", 41 | "tags": "st3-" 42 | }, 43 | { 44 | "sublime_text": ">=4000", 45 | "tags": true 46 | } 47 | ] 48 | }, 49 | { 50 | "name": "SublimeLinter-addon-toggler", 51 | "details": "https://github.com/kaste/SublimeLinter-addon-toggler", 52 | "labels": ["linting", "SublimeLinter", "addon"], 53 | "releases": [ 54 | { 55 | "sublime_text": "3000 - 3999", 56 | "tags": "st3-" 57 | }, 58 | { 59 | "sublime_text": ">=4000", 60 | "tags": true 61 | } 62 | ] 63 | }, 64 | { 65 | "name": "SublimeLinter-any-lsp", 66 | "details": "https://github.com/kaste/SublimeLinter-any-lsp", 67 | "labels": ["linting", "SublimeLinter", "addon", "lsp"], 68 | "releases": [ 69 | { 70 | "sublime_text": ">=4000", 71 | "tags": true 72 | } 73 | ] 74 | }, 75 | { 76 | "name": "SublimeLinter-contrib-42-norminette", 77 | "details": "https://github.com/baptistejamin/sublime-42-norminette/", 78 | "labels": ["linting", "SublimeLinter", "42", "norminette"], 79 | "releases": [ 80 | { 81 | "sublime_text": ">=3000", 82 | "tags": true 83 | } 84 | ] 85 | }, 86 | { 87 | "name": "SublimeLinter-contrib-alex", 88 | "details": "https://github.com/sindresorhus/SublimeLinter-contrib-alex", 89 | "labels": ["linting", "SublimeLinter", "markdown", "writing"], 90 | "releases": [ 91 | { 92 | "sublime_text": ">=3000", 93 | "tags": true 94 | } 95 | ] 96 | }, 97 | { 98 | "name": "SublimeLinter-contrib-ameba", 99 | "details": "https://github.com/epergo/SublimeLinter-contrib-ameba", 100 | "labels": ["linting", "SublimeLinter", "ameba", "crystal"], 101 | "releases": [ 102 | { 103 | "sublime_text": ">=3000", 104 | "platforms": ["osx", "linux"], 105 | "tags": true 106 | } 107 | ] 108 | }, 109 | { 110 | "name": "SublimeLinter-contrib-ansible-lint", 111 | "details": "https://github.com/mliljedahl/SublimeLinter-contrib-ansible-lint", 112 | "labels": ["linting", "SublimeLinter", "ansible", "playbooks"], 113 | "releases": [ 114 | { 115 | "sublime_text": ">=3000", 116 | "tags": true 117 | } 118 | ] 119 | }, 120 | { 121 | "name": "SublimeLinter-contrib-au3check", 122 | "details": "https://github.com/smsrkr/SublimeLinter-contrib-au3check", 123 | "labels": ["linting", "SublimeLinter", "AutoIt3", "autoit"], 124 | "releases": [ 125 | { 126 | "sublime_text": ">=3000", 127 | "tags": true 128 | } 129 | ] 130 | }, 131 | { 132 | "name": "SublimeLinter-contrib-bashate", 133 | "details": "https://github.com/maristgeek/SublimeLinter-contrib-bashate", 134 | "labels": ["linting", "SublimeLinter", "bash"], 135 | "releases": [ 136 | { 137 | "sublime_text": ">=3000", 138 | "tags": true 139 | } 140 | ] 141 | }, 142 | { 143 | "name": "SublimeLinter-contrib-bemlint", 144 | "details": "https://github.com/DesTincT/SublimeLinter-contrib-bemlint", 145 | "labels": ["linting", "SublimeLinter", "html"], 146 | "releases": [ 147 | { 148 | "sublime_text": ">=3000", 149 | "tags": true 150 | } 151 | ] 152 | }, 153 | { 154 | "name": "SublimeLinter-contrib-bootlint", 155 | "details": "https://github.com/Thomas-Lebeau/SublimeLinter-contrib-bootlint", 156 | "labels": ["linting", "SublimeLinter", "bootlint", "bootstrap"], 157 | "releases": [ 158 | { 159 | "sublime_text": ">=3000", 160 | "tags": true 161 | } 162 | ] 163 | }, 164 | { 165 | "name": "SublimeLinter-contrib-brew", 166 | "details": "https://github.com/idleberg/SublimeLinter-contrib-brew", 167 | "labels": ["linting", "SublimeLinter", "brew", "homebrew"], 168 | "releases": [ 169 | { 170 | "sublime_text": ">=3000", 171 | "tags": true 172 | } 173 | ] 174 | }, 175 | { 176 | "name": "SublimeLinter-contrib-CFLint", 177 | "details": "https://github.com/ckaznocha/SublimeLinter-contrib-CFLint", 178 | "labels": ["linting", "SublimeLinter", "CFLint", "Cold Fusion"], 179 | "releases": [ 180 | { 181 | "sublime_text": ">=3000", 182 | "tags": true 183 | } 184 | ] 185 | }, 186 | { 187 | "name": "SublimeLinter-contrib-check-source-formatting", 188 | "details": "https://github.com/drewbrokke/SublimeLinter-contrib-check-source-formatting", 189 | "labels": ["linting", "SublimeLinter", "check", "source", "formatting", "html", "javascript", "css"], 190 | "releases": [ 191 | { 192 | "sublime_text": ">=3000", 193 | "tags": true 194 | } 195 | ] 196 | }, 197 | { 198 | "name": "SublimeLinter-contrib-checkmake", 199 | "details": "https://github.com/mcw0933/SublimeLinter-contrib-checkmake", 200 | "labels": ["linting", "SublimeLinter", "makefile", "gnu"], 201 | "releases": [ 202 | { 203 | "sublime_text": ">=3000", 204 | "tags": true 205 | } 206 | ] 207 | }, 208 | { 209 | "name": "SublimeLinter-contrib-checkpatch", 210 | "details": "https://github.com/BrunoJJE/SublimeLinter-contrib-checkpatch", 211 | "labels": ["linting", "SublimeLinter", "checkpatch", "c", "clang"], 212 | "releases": [ 213 | { 214 | "sublime_text": ">=3000", 215 | "tags": true 216 | } 217 | ] 218 | }, 219 | { 220 | "name": "SublimeLinter-contrib-checkstyle", 221 | "details": "https://github.com/LDAP/SublimeLinter-checkstyle", 222 | "labels": ["linting", "SublimeLinter", "checkstyle", "java", "codestyle"], 223 | "releases": [ 224 | { 225 | "sublime_text": ">=3000", 226 | "tags": true 227 | } 228 | ] 229 | }, 230 | { 231 | "name": "SublimeLinter-contrib-cheetah-flake", 232 | "details": "https://github.com/jdb8/SublimeLinter-contrib-cheetah-flake", 233 | "labels": ["linting", "SublimeLinter", "yelpcheetah", "python"], 234 | "releases": [ 235 | { 236 | "sublime_text": ">=3000", 237 | "tags": true 238 | } 239 | ] 240 | }, 241 | { 242 | "name": "SublimeLinter-contrib-clang-format", 243 | "details": "https://github.com/harrymander/SublimeLinter-contrib-clang-format", 244 | "labels": ["linting", "SublimeLinter", "clang", "c", "c++"], 245 | "releases": [ 246 | { 247 | "sublime_text": ">=3000", 248 | "tags": true 249 | } 250 | ] 251 | }, 252 | { 253 | "name": "SublimeLinter-contrib-clang-tidy", 254 | "details": "https://github.com/rwols/SublimeLinter-contrib-clang-tidy", 255 | "labels": ["linting", "SublimeLinter", "clang", "c", "c++", "objective-c"], 256 | "releases": [ 257 | { 258 | "sublime_text": ">=3000", 259 | "tags": true 260 | } 261 | ] 262 | }, 263 | { 264 | "name": "SublimeLinter-contrib-clj-kondo", 265 | "details": "https://github.com/ToxicFrog/SublimeLinter-contrib-clj-kondo", 266 | "labels": ["linting", "SublimeLinter", "clojure", "clj"], 267 | "releases": [ 268 | { 269 | "sublime_text": ">=3000", 270 | "tags": true 271 | } 272 | ] 273 | }, 274 | { 275 | "name": "SublimeLinter-contrib-cloudformation", 276 | "details": "https://github.com/fatbasstard/SublimeLinter-contrib-cloudformation", 277 | "labels": ["linting", "SublimeLinter", "yaml", "json", "CloudFormation", "Cfn"], 278 | "releases": [ 279 | { 280 | "sublime_text": ">=3000", 281 | "tags": true 282 | } 283 | ] 284 | }, 285 | { 286 | "name": "SublimeLinter-contrib-cmakelint", 287 | "details": "https://github.com/jasjuang/SublimeLinter-contrib-cmakelint", 288 | "labels": ["linting", "SublimeLinter", "make", "cmake"], 289 | "releases": [ 290 | { 291 | "sublime_text": ">=3000", 292 | "tags": true 293 | } 294 | ] 295 | }, 296 | { 297 | "name": "SublimeLinter-contrib-codeclimate", 298 | "details": "https://github.com/meengit/SublimeLinter-contrib-codeclimate", 299 | "labels": ["linting", "SublimeLinter", "codeclimate"], 300 | "releases": [ 301 | { 302 | "sublime_text": ">=3000", 303 | "tags": true 304 | } 305 | ] 306 | }, 307 | { 308 | "name": "SublimeLinter-contrib-codespell", 309 | "details": "https://github.com/kaste/SublimeLinter-contrib-codespell", 310 | "labels": ["linting", "SublimeLinter", "codespell"], 311 | "releases": [ 312 | { 313 | "sublime_text": "3000 - 3999", 314 | "tags": "st3-" 315 | }, 316 | { 317 | "sublime_text": ">=4000", 318 | "tags": true 319 | } 320 | ] 321 | }, 322 | { 323 | "name": "SublimeLinter-contrib-cookstyle", 324 | "details": "https://github.com/jeffbyrnes/SublimeLinter-contrib-cookstyle", 325 | "labels": ["linting", "SublimeLinter", "chef", "ruby"], 326 | "releases": [ 327 | { 328 | "sublime_text": ">=3000", 329 | "tags": true 330 | } 331 | ] 332 | }, 333 | { 334 | "name": "SublimeLinter-contrib-credo", 335 | "details": "https://github.com/ocolot/SublimeLinter-contrib-credo", 336 | "labels": ["linting", "SublimeLinter", "elixer"], 337 | "releases": [ 338 | { 339 | "sublime_text": ">=3000", 340 | "tags": true 341 | } 342 | ] 343 | }, 344 | { 345 | "name": "SublimeLinter-contrib-csl", 346 | "details": "https://github.com/Marcool04/SublimeLinter-contrib-csl", 347 | "labels": ["linting", "SublimeLinter", "csl", "Citation style language"], 348 | "releases": [ 349 | { 350 | "sublime_text": ">=3000", 351 | "tags": true 352 | } 353 | ] 354 | }, 355 | { 356 | "name": "SublimeLinter-contrib-csstree", 357 | "details": "https://github.com/csstree/SublimeLinter-contrib-csstree", 358 | "labels": ["linting", "SublimeLinter", "css"], 359 | "releases": [ 360 | { 361 | "sublime_text": ">=3000", 362 | "tags": true 363 | } 364 | ] 365 | }, 366 | { 367 | "name": "SublimeLinter-contrib-dennis", 368 | "details": "https://github.com/NotSqrt/SublimeLinter-contrib-dennis", 369 | "labels": ["linting", "SublimeLinter", "Gettext"], 370 | "releases": [ 371 | { 372 | "sublime_text": ">=3000", 373 | "tags": true 374 | } 375 | ] 376 | }, 377 | { 378 | "name": "SublimeLinter-contrib-djlint", 379 | "details": "https://github.com/christopherpickering/Sublimelinter-contrib-djlint", 380 | "labels": ["linting", "SublimeLinter", "djlint", "html", "templates"], 381 | "releases": [ 382 | { 383 | "sublime_text": ">=3000", 384 | "tags": true 385 | } 386 | ] 387 | }, 388 | { 389 | "name": "SublimeLinter-contrib-dmd", 390 | "details": "https://github.com/veelo/SublimeLinter-contrib-dmd", 391 | "labels": ["linting", "SublimeLinter", "dlang"], 392 | "releases": [ 393 | { 394 | "sublime_text": ">=3000", 395 | "tags": true 396 | } 397 | ] 398 | }, 399 | { 400 | "name": "SublimeLinter-contrib-dockerfilelint", 401 | "details": "https://github.com/prog1dev/SublimeLinter-contrib-dockerfilelint", 402 | "labels": ["linting", "SublimeLinter", "docker", "dockerfile", "dockerfile-linter"], 403 | "releases": [ 404 | { 405 | "sublime_text": ">=3000", 406 | "tags": true 407 | } 408 | ] 409 | }, 410 | { 411 | "name": "SublimeLinter-contrib-dogma", 412 | "details": "https://github.com/mintcore/SublimeLinter-contrib-dogma", 413 | "labels": ["linting", "SublimeLinter", "dogma", "elixir"], 414 | "releases": [ 415 | { 416 | "sublime_text": ">=3000", 417 | "tags": true 418 | } 419 | ] 420 | }, 421 | { 422 | "name": "SublimeLinter-contrib-dxl", 423 | "details": "https://github.com/Adarma/SublimeLinter-contrib-dxl", 424 | "labels": ["linting", "SublimeLinter", "dxl"], 425 | "releases": [ 426 | { 427 | "sublime_text": ">=3000", 428 | "tags": true 429 | } 430 | ] 431 | }, 432 | { 433 | "name": "SublimeLinter-contrib-elixirc", 434 | "details": "https://github.com/smanolloff/SublimeLinter-contrib-elixirc", 435 | "labels": ["linting", "SublimeLinter", "erlang", "elixir", "elixirc"], 436 | "releases": [ 437 | { 438 | "sublime_text": ">=3000", 439 | "tags": true 440 | } 441 | ] 442 | }, 443 | { 444 | "name": "SublimeLinter-contrib-elm-make", 445 | "details": "https://github.com/sentience/SublimeLinter-contrib-elm-make", 446 | "labels": ["linting", "SublimeLinter", "elm"], 447 | "releases": [ 448 | { 449 | "sublime_text": ">=3000", 450 | "tags": true 451 | } 452 | ] 453 | }, 454 | { 455 | "name": "SublimeLinter-contrib-ember-template", 456 | "details": "https://github.com/kaste/SublimeLinter-contrib-ember-template", 457 | "labels": ["linting", "SublimeLinter", "ember", "handlebars"], 458 | "releases": [ 459 | { 460 | "sublime_text": "3000 - 3999", 461 | "tags": "st3-" 462 | }, 463 | { 464 | "sublime_text": ">=4000", 465 | "tags": true 466 | } 467 | ] 468 | }, 469 | { 470 | "name": "SublimeLinter-contrib-epcomp", 471 | "details": "https://github.com/veelo/SublimeLinter-contrib-epcomp", 472 | "labels": ["linting", "SublimeLinter", "prospero", "extended", "pascal"], 473 | "releases": [ 474 | { 475 | "sublime_text": ">=3000", 476 | "tags": true 477 | } 478 | ] 479 | }, 480 | { 481 | "name": "SublimeLinter-contrib-eslint_d", 482 | "details": "https://github.com/roadhump/SublimeLinter-contrib-eslint_d", 483 | "labels": ["linting", "SublimeLinter", "eslint_d"], 484 | "releases": [ 485 | { 486 | "sublime_text": ">=3000", 487 | "tags": true 488 | } 489 | ] 490 | }, 491 | { 492 | "name": "SublimeLinter-contrib-fasterer", 493 | "details": "https://github.com/slapvanilla/SublimeLinter-contrib-fasterer", 494 | "labels": ["linting", "SublimeLinter", "ruby"], 495 | "releases": [ 496 | { 497 | "sublime_text": ">=3000", 498 | "tags": true 499 | } 500 | ] 501 | }, 502 | { 503 | "name": "SublimeLinter-contrib-flog", 504 | "details": "https://github.com/icnagy/SublimeLinter-contrib-flog", 505 | "labels": ["linting", "SublimeLinter", "flog"], 506 | "releases": [ 507 | { 508 | "sublime_text": ">=3000", 509 | "tags": true 510 | } 511 | ] 512 | }, 513 | { 514 | "name": "SublimeLinter-contrib-foodcritic", 515 | "details": "https://github.com/badmadrad/SublimeLinter-foodcritic", 516 | "labels": ["linting", "SublimeLinter", "foodcritic", "chef"], 517 | "releases": [ 518 | { 519 | "sublime_text": ">=3000", 520 | "tags": true 521 | } 522 | ] 523 | }, 524 | { 525 | "name": "SublimeLinter-contrib-frosted", 526 | "details": "https://github.com/Shura1oplot/SublimeLinter-contrib-frosted", 527 | "labels": ["linting", "SublimeLinter", "python"], 528 | "releases": [ 529 | { 530 | "sublime_text": ">=3000", 531 | "tags": true 532 | } 533 | ] 534 | }, 535 | { 536 | "name": "SublimeLinter-contrib-ghdl", 537 | "details": "https://github.com/ringof/SublimeLinter-contrib-ghdl", 538 | "labels": ["linting", "SublimeLinter", "vhdl"], 539 | "releases": [ 540 | { 541 | "sublime_text": ">=3000", 542 | "tags": true 543 | } 544 | ] 545 | }, 546 | { 547 | "name": "SublimeLinter-contrib-git-lint-commit", 548 | "details": "https://github.com/woodruffw/SublimeLinter-contrib-git-lint-commit", 549 | "labels": ["linting", "SublimeLinter", "git", "commit-message"], 550 | "releases": [ 551 | { 552 | "sublime_text": ">=3000", 553 | "tags": true 554 | } 555 | ] 556 | }, 557 | { 558 | "name": "SublimeLinter-contrib-glsl", 559 | "details": "https://github.com/numb3r23/SublimeLinter-contrib-glsl", 560 | "labels": ["linting", "SublimeLinter", "glsl", "essl"], 561 | "releases": [ 562 | { 563 | "sublime_text": ">=3000", 564 | "tags": true 565 | } 566 | ] 567 | }, 568 | { 569 | "name": "SublimeLinter-contrib-glslc", 570 | "details": "https://github.com/MarioHenze/SublimeLinter-contrib-glslc", 571 | "labels": ["linting", "SublimeLinter", "glsl"], 572 | "releases": [ 573 | { 574 | "sublime_text": ">=3000", 575 | "tags": true 576 | } 577 | ] 578 | }, 579 | { 580 | "name": "SublimeLinter-contrib-glua", 581 | "details": "https://github.com/glua/SublimeLinter-contrib-glua", 582 | "labels": ["linting", "SublimeLinter", "glua", "gmod", "lua"], 583 | "releases": [ 584 | { 585 | "sublime_text": ">=3000", 586 | "tags": true 587 | } 588 | ] 589 | }, 590 | { 591 | "name": "SublimeLinter-contrib-glualint", 592 | "details": "https://github.com/FPtje/SublimeLinter-contrib-glualint", 593 | "labels": ["linting", "SublimeLinter", "glua", "gmod", "lua"], 594 | "releases": [ 595 | { 596 | "sublime_text": ">=3000", 597 | "tags": true 598 | } 599 | ] 600 | }, 601 | { 602 | "name": "SublimeLinter-contrib-gometalinter", 603 | "details": "https://github.com/alecthomas/SublimeLinter-contrib-gometalinter", 604 | "labels": ["linting", "SublimeLinter", "go", "golang"], 605 | "releases": [ 606 | { 607 | "sublime_text": ">=3000", 608 | "tags": true 609 | } 610 | ] 611 | }, 612 | { 613 | "name": "SublimeLinter-contrib-gosimple", 614 | "details": "https://github.com/clocklear/SublimeLinter-contrib-gosimple", 615 | "labels": ["linting", "SublimeLinter", "go"], 616 | "releases": [ 617 | { 618 | "sublime_text": ">=3000", 619 | "tags": true 620 | } 621 | ] 622 | }, 623 | { 624 | "name": "SublimeLinter-contrib-hadolint", 625 | "details": "https://github.com/niksite/SublimeLinter-contrib-hadolint", 626 | "labels": ["linting", "SublimeLinter", "docker"], 627 | "releases": [ 628 | { 629 | "sublime_text": ">=3000", 630 | "tags": true 631 | } 632 | ] 633 | }, 634 | { 635 | "name": "SublimeLinter-contrib-happiness", 636 | "details": "https://github.com/nmn/SublimeLinter-contrib-happiness", 637 | "labels": ["linting", "SublimeLinter", "javascript", "happiness"], 638 | "releases": [ 639 | { 640 | "sublime_text": ">=3000", 641 | "tags": true 642 | } 643 | ] 644 | }, 645 | { 646 | "name": "SublimeLinter-contrib-hdevtools", 647 | "details": "https://github.com/ch1bo/SublimeLinter-contrib-hdevtools", 648 | "labels": ["linting", "SublimeLinter", "haskell"], 649 | "releases": [ 650 | { 651 | "sublime_text": ">=3000", 652 | "tags": true 653 | } 654 | ] 655 | }, 656 | { 657 | "name": "SublimeLinter-contrib-healthier", 658 | "details": "https://github.com/KidkArolis/SublimeLinter-contrib-healthier", 659 | "labels": ["linting", "SublimeLinter", "javascript", "healthier", "prettier", "standard"], 660 | "releases": [ 661 | { 662 | "sublime_text": ">=3000", 663 | "tags": true 664 | } 665 | ] 666 | }, 667 | { 668 | "name": "SublimeLinter-contrib-htmlhint", 669 | "details": "https://github.com/mmaday/SublimeLinter-contrib-htmlhint", 670 | "labels": ["linting", "SublimeLinter", "html"], 671 | "releases": [ 672 | { 673 | "sublime_text": ">=3000", 674 | "tags": true 675 | } 676 | ] 677 | }, 678 | { 679 | "name": "SublimeLinter-contrib-htmllint", 680 | "details": "https://github.com/necramirez/SublimeLinter-contrib-htmllint", 681 | "labels": ["linting", "SublimeLinter", "html"], 682 | "releases": [ 683 | { 684 | "sublime_text": ">=3000", 685 | "tags": true 686 | } 687 | ] 688 | }, 689 | { 690 | "name": "SublimeLinter-contrib-iscc", 691 | "details": "https://github.com/idleberg/SublimeLinter-contrib-iscc", 692 | "labels": ["linting", "SublimeLinter", "innosetup", "inno setup"], 693 | "releases": [ 694 | { 695 | "sublime_text": ">=3000", 696 | "platforms": ["windows"], 697 | "tags": true 698 | } 699 | ] 700 | }, 701 | { 702 | "name": "SublimeLinter-contrib-iverilog", 703 | "details": "https://github.com/jfcherng-sublime/SublimeLinter-contrib-iverilog", 704 | "author": ["jfcherng"], 705 | "labels": ["linting", "SublimeLinter", "verilog"], 706 | "releases": [ 707 | { 708 | "sublime_text": "3000 - 3999", 709 | "tags": "st3-" 710 | }, 711 | { 712 | "sublime_text": ">=4000", 713 | "tags": true 714 | } 715 | ] 716 | }, 717 | { 718 | "name": "SublimeLinter-contrib-java", 719 | "details": "https://github.com/reekoheek/SublimeLinter-java", 720 | "labels": ["linting", "SublimeLinter", "java"], 721 | "previous_names": ["SublimeLinter-java"], 722 | "releases": [ 723 | { 724 | "sublime_text": ">=3000", 725 | "tags": true 726 | } 727 | ] 728 | }, 729 | { 730 | "name": "SublimeLinter-contrib-joker", 731 | "details": "https://github.com/candid82/SublimeLinter-contrib-joker", 732 | "labels": ["linting", "SublimeLinter", "clojure", "cljs"], 733 | "releases": [ 734 | { 735 | "sublime_text": ">=3000", 736 | "tags": true 737 | } 738 | ] 739 | }, 740 | { 741 | "name": "SublimeLinter-contrib-jolint", 742 | "details": "https://github.com/thesave/SublimeLinter-jolint", 743 | "labels": ["linting", "SublimeLinter", "jolie"], 744 | "previous_names": ["SublimeLinter-jolint"], 745 | "releases": [ 746 | { 747 | "sublime_text": ">=3000", 748 | "tags": true 749 | } 750 | ] 751 | }, 752 | { 753 | "name": "SublimeLinter-contrib-jsdebugmarkers", 754 | "details": "https://github.com/LeoLeal/SublimeLinter-jsdebugmarkers", 755 | "labels": ["linting", "SublimeLinter", "javascript"], 756 | "previous_names": ["SublimeLinter-jsdebugmarkers"], 757 | "releases": [ 758 | { 759 | "sublime_text": ">=3000", 760 | "tags": true 761 | } 762 | ] 763 | }, 764 | { 765 | "name": "SublimeLinter-contrib-jslint", 766 | "details": "https://github.com/devdoc/SublimeLinter-jslint", 767 | "labels": ["linting", "SublimeLinter", "javascript"], 768 | "releases": [ 769 | { 770 | "sublime_text": ">=3000", 771 | "tags": true 772 | } 773 | ] 774 | }, 775 | { 776 | "name": "SublimeLinter-contrib-jsonnet-lint", 777 | "details": "https://github.com/m-messiah/SublimeLinter-contrib-jsonnet-lint", 778 | "labels": ["linting", "SublimeLinter", "jsonnet", "libsonnet"], 779 | "releases": [ 780 | { 781 | "sublime_text": ">=3000", 782 | "tags": true 783 | } 784 | ] 785 | }, 786 | { 787 | "name": "SublimeLinter-contrib-jsonschema-lint", 788 | "details": "https://github.com/jacksmith15/SublimeLinter-contrib-jsonschema-lint", 789 | "labels": ["linting", "SublimeLinter", "jsonschema", "json", "yaml"], 790 | "releases": [ 791 | { 792 | "sublime_text": ">=3000", 793 | "tags": true 794 | } 795 | ] 796 | }, 797 | { 798 | "name": "SublimeLinter-contrib-julialint", 799 | "details": "https://github.com/tomaskrehlik/SublimeLinter-contrib-julialint", 800 | "labels": ["linting", "SublimeLinter", "julia"], 801 | "releases": [ 802 | { 803 | "sublime_text": ">=3000", 804 | "tags": true 805 | } 806 | ] 807 | }, 808 | { 809 | "name": "SublimeLinter-contrib-julialintserver", 810 | "details": "https://github.com/invenia/SublimeLinter-contrib-julialintserver", 811 | "labels": ["linting", "SublimeLinter", "julia"], 812 | "releases": [ 813 | { 814 | "sublime_text": ">=3000", 815 | "tags": true 816 | } 817 | ] 818 | }, 819 | { 820 | "name": "SublimeLinter-contrib-lacheck", 821 | "details": "https://github.com/thesave/SublimeLinter-contrib-lacheck", 822 | "labels": ["linting", "SublimeLinter", "latex"], 823 | "releases": [ 824 | { 825 | "sublime_text": ">=3000", 826 | "tags": true 827 | } 828 | ] 829 | }, 830 | { 831 | "name": "SublimeLinter-contrib-LanguageTool", 832 | "details": "https://github.com/GiovanH/sublimelint-contrib-languagetool", 833 | "releases": [ 834 | { 835 | "sublime_text": ">=3000", 836 | "tags": true 837 | } 838 | ] 839 | }, 840 | { 841 | "name": "SublimeLinter-contrib-lesshint", 842 | "details": "https://github.com/jasjuang/SublimeLinter-contrib-lesshint", 843 | "labels": ["linting", "SublimeLinter", "less"], 844 | "releases": [ 845 | { 846 | "sublime_text": ">=3000", 847 | "tags": true 848 | } 849 | ] 850 | }, 851 | { 852 | "name": "SublimeLinter-contrib-lintr", 853 | "details": "https://github.com/jimhester/SublimeLinter-contrib-lintr", 854 | "labels": ["linting", "SublimeLinter", "R"], 855 | "releases": [ 856 | { 857 | "sublime_text": ">=3000", 858 | "tags": true 859 | } 860 | ] 861 | }, 862 | { 863 | "name": "SublimeLinter-contrib-livecodelint", 864 | "details": "https://github.com/trevordevore/sublimelinter-contrib-livecodelint", 865 | "labels": ["linting", "SublimeLinter", "livecode"], 866 | "releases": [ 867 | { 868 | "sublime_text": ">=3000", 869 | "tags": true 870 | } 871 | ] 872 | }, 873 | { 874 | "name": "SublimeLinter-contrib-lslint", 875 | "details": "https://github.com/XenHat/SublimeLinter-contrib-lslint", 876 | "labels": ["linting", "SublimeLinter", "lsl", "ossl"], 877 | "releases": [ 878 | { 879 | "sublime_text": ">=3000", 880 | "tags": true 881 | } 882 | ] 883 | }, 884 | { 885 | "name": "SublimeLinter-contrib-lua-globals", 886 | "details": "https://github.com/Sinaloit/SublimeLinter-contrib-lua-globals", 887 | "labels": ["linting", "SublimeLinter", "lua"], 888 | "releases": [ 889 | { 890 | "sublime_text": ">=3000", 891 | "tags": true 892 | } 893 | ] 894 | }, 895 | { 896 | "name": "SublimeLinter-contrib-luau", 897 | "details": "https://github.com/luau-lang/SublimeLinter-luau", 898 | "labels": ["linting","SublimeLinter","lua","roblox"], 899 | "releases": [ 900 | { 901 | "sublime_text": ">=3000", 902 | "tags": true 903 | } 904 | ] 905 | }, 906 | { 907 | "name": "SublimeLinter-contrib-makefile", 908 | "details": "https://github.com/giampaolo/SublimeLinter-contrib-makefile", 909 | "labels": ["linting", "makefile", "make"], 910 | "releases": [ 911 | { 912 | "sublime_text": ">=3000", 913 | "tags": true 914 | } 915 | ] 916 | }, 917 | { 918 | "name": "SublimeLinter-contrib-makensis", 919 | "details": "https://github.com/idleberg/SublimeLinter-contrib-makensis", 920 | "labels": ["linting", "SublimeLinter", "nsis", "makensis"], 921 | "releases": [ 922 | { 923 | "sublime_text": ">=3000", 924 | "tags": true 925 | } 926 | ] 927 | }, 928 | { 929 | "name": "SublimeLinter-contrib-markdownlint", 930 | "details": "https://github.com/jonlabelle/SublimeLinter-contrib-markdownlint", 931 | "labels": ["linting", "SublimeLinter", "markdown", "markdownlint"], 932 | "releases": [ 933 | { 934 | "sublime_text": ">=3000", 935 | "tags": true 936 | } 937 | ] 938 | }, 939 | { 940 | "name": "SublimeLinter-contrib-mlint", 941 | "details": "https://github.com/rdeits/SublimeLinter-contrib-mlint", 942 | "labels": ["linting", "SublimeLinter", "matlab"], 943 | "releases": [ 944 | { 945 | "sublime_text": ">=3000", 946 | "tags": true 947 | } 948 | ] 949 | }, 950 | { 951 | "name": "SublimeLinter-contrib-modelsim", 952 | "details": "https://github.com/jevogel/SublimeLinter-contrib-modelsim", 953 | "labels": ["linting", "SublimeLinter", "vhdl", "verilog", "systemverilog", "vcom", "vlog", "modelsim", "questasim"], 954 | "previous_names": ["SublimeLinter-contrib-vcom"], 955 | "releases": [ 956 | { 957 | "sublime_text": ">=3000", 958 | "tags": true 959 | } 960 | ] 961 | }, 962 | { 963 | "name": "SublimeLinter-contrib-nginx-lint", 964 | "details": "https://github.com/irvinlim/SublimeLinter-contrib-nginx-lint", 965 | "labels": ["linting", "SublimeLinter", "config", "nginx"], 966 | "releases": [ 967 | { 968 | "sublime_text": ">=3000", 969 | "tags": true 970 | } 971 | ] 972 | }, 973 | { 974 | "name": "SublimeLinter-contrib-nvc", 975 | "details": "https://github.com/BrunoJJE/SublimeLinter-contrib-nvc", 976 | "labels": ["linting", "SublimeLinter", "vhdl"], 977 | "releases": [ 978 | { 979 | "sublime_text": ">=3000", 980 | "tags": true 981 | } 982 | ] 983 | }, 984 | { 985 | "name": "SublimeLinter-contrib-nvcc", 986 | "details": "https://github.com/blahgeek/SublimeLinter-contrib-nvcc", 987 | "labels": ["linting", "SublimeLinter", "cuda", "cpp", "c++"], 988 | "releases": [ 989 | { 990 | "sublime_text": ">=3000", 991 | "tags": true 992 | } 993 | ] 994 | }, 995 | { 996 | "name": "SublimeLinter-contrib-perl", 997 | "details": "https://github.com/oschwald/SublimeLinter-perl", 998 | "labels": ["linting", "SublimeLinter", "perl"], 999 | "previous_names": ["SublimeLinter-perl"], 1000 | "releases": [ 1001 | { 1002 | "sublime_text": ">=3000", 1003 | "tags": true 1004 | } 1005 | ] 1006 | }, 1007 | { 1008 | "name": "SublimeLinter-contrib-perlcritic", 1009 | "details": "https://github.com/oschwald/SublimeLinter-perlcritic", 1010 | "labels": ["linting", "SublimeLinter", "perl", "perlcritic"], 1011 | "previous_names": ["SublimeLinter-perlcritic"], 1012 | "releases": [ 1013 | { 1014 | "sublime_text": ">=3000", 1015 | "tags": true 1016 | } 1017 | ] 1018 | }, 1019 | { 1020 | "name": "SublimeLinter-contrib-phpins", 1021 | "details": "https://github.com/ta-tikoma/SublimeLinter-phpins", 1022 | "labels": ["linting", "SublimeLinter", "php", "phpins"], 1023 | "releases": [ 1024 | { 1025 | "sublime_text": ">=3000", 1026 | "tags": true 1027 | } 1028 | ] 1029 | }, 1030 | { 1031 | "name": "SublimeLinter-contrib-phpstan", 1032 | "details": "https://github.com/Rockstar04/SublimeLinter-contrib-phpstan", 1033 | "labels": ["linting", "SublimeLinter", "phpstan"], 1034 | "releases": [ 1035 | { 1036 | "sublime_text": ">=3000", 1037 | "tags": true 1038 | } 1039 | ] 1040 | }, 1041 | { 1042 | "name": "SublimeLinter-contrib-polylint", 1043 | "details": "https://github.com/nomego/SublimeLinter-contrib-polylint", 1044 | "labels": ["linting", "SublimeLinter", "html", "polymer"], 1045 | "releases": [ 1046 | { 1047 | "sublime_text": ">=3000", 1048 | "tags": true 1049 | } 1050 | ] 1051 | }, 1052 | { 1053 | "name": "SublimeLinter-contrib-Powershell", 1054 | "details": "https://github.com/EdrisT/SublimeLinter-contrib-Powershell", 1055 | "labels": ["linting", "SublimeLinter", "powershell", "ps", "pwsh"], 1056 | "releases": [ 1057 | { 1058 | "sublime_text": ">=3000", 1059 | "tags": true 1060 | } 1061 | ] 1062 | }, 1063 | { 1064 | "name": "SublimeLinter-contrib-proselint", 1065 | "details": "https://github.com/amperser/SublimeLinter-contrib-proselint", 1066 | "labels": ["linting", "SublimeLinter", "markdown", "text", "writing"], 1067 | "releases": [ 1068 | { 1069 | "sublime_text": ">=3000", 1070 | "tags": true 1071 | } 1072 | ] 1073 | }, 1074 | { 1075 | "name": "SublimeLinter-contrib-protoc-gen-lint", 1076 | "details": "https://github.com/ckaznocha/SublimeLinter-contrib-protoc-gen-lint", 1077 | "labels": ["linting", "SublimeLinter", "protocol", "buffer", "protobuf"], 1078 | "releases": [ 1079 | { 1080 | "sublime_text": ">=3000", 1081 | "tags": true 1082 | } 1083 | ] 1084 | }, 1085 | { 1086 | "name": "SublimeLinter-contrib-PSScriptAnalyzer", 1087 | "details": "https://github.com/spajak/SublimeLinter-contrib-PSScriptAnalyzer", 1088 | "labels": ["linting", "SublimeLinter", "powershell", "ps", "pwsh"], 1089 | "releases": [ 1090 | { 1091 | "sublime_text": ">=3000", 1092 | "tags": true 1093 | } 1094 | ] 1095 | }, 1096 | { 1097 | "name": "SublimeLinter-contrib-puppet", 1098 | "details": "https://github.com/dschaaff/SublimeLinter-puppet", 1099 | "labels": ["linting", "SublimeLinter", "puppet"], 1100 | "releases": [ 1101 | { 1102 | "sublime_text": ">=3000", 1103 | "tags": true 1104 | } 1105 | ] 1106 | }, 1107 | { 1108 | "name": "SublimeLinter-contrib-puppet-lint", 1109 | "details": "https://github.com/dschaaff/SublimeLinter-puppet-lint", 1110 | "labels": ["linting", "SublimeLinter", "puppet"], 1111 | "releases": [ 1112 | { 1113 | "sublime_text": ">=3000", 1114 | "tags": true 1115 | } 1116 | ] 1117 | }, 1118 | { 1119 | "name": "SublimeLinter-contrib-qmllint", 1120 | "details": "https://github.com/temideoye/SublimeLinter-contrib-qmllint", 1121 | "labels": ["linting", "SublimeLinter", "Qt", "QML"], 1122 | "releases": [ 1123 | { 1124 | "sublime_text": ">=3000", 1125 | "tags": true 1126 | } 1127 | ] 1128 | }, 1129 | { 1130 | "name": "SublimeLinter-contrib-quick-linter-js", 1131 | "details": "https://github.com/kaste/SublimeLinter-contrib-quick-linter-js", 1132 | "labels": ["linting", "SublimeLinter", "javascript"], 1133 | "releases": [ 1134 | { 1135 | "sublime_text": "3000 - 3999", 1136 | "tags": "st3-" 1137 | }, 1138 | { 1139 | "sublime_text": ">=4000", 1140 | "tags": true 1141 | } 1142 | ] 1143 | }, 1144 | { 1145 | "name": "SublimeLinter-contrib-radon", 1146 | "details": "https://github.com/christopherpickering/SublimeLinter-contrib-radon", 1147 | "labels": ["linting", "SublimeLinter", "python", "radon", "complexity"], 1148 | "releases": [ 1149 | { 1150 | "sublime_text": ">=3000", 1151 | "tags": true 1152 | } 1153 | ] 1154 | }, 1155 | { 1156 | "name": "SublimeLinter-contrib-reek", 1157 | "details": "https://github.com/codequest-eu/SublimeLinter-contrib-reek", 1158 | "labels": ["linting", "SublimeLinter", "ruby"], 1159 | "releases": [ 1160 | { 1161 | "sublime_text": ">=3000", 1162 | "tags": true 1163 | } 1164 | ] 1165 | }, 1166 | { 1167 | "name": "SublimeLinter-contrib-remark-lint", 1168 | "details": "https://github.com/j616/SublimeLinter-contrib-remark-lint", 1169 | "labels": ["linting", "SublimeLinter", "markdown", "remark-lint"], 1170 | "releases": [ 1171 | { 1172 | "sublime_text": ">=3000", 1173 | "tags": true 1174 | } 1175 | ] 1176 | }, 1177 | { 1178 | "name": "SublimeLinter-contrib-revive", 1179 | "details": "https://github.com/jsmith0684/SublimeLinter-contrib-revive", 1180 | "labels": ["linting", "SublimeLinter", "go", "golang"], 1181 | "releases": [ 1182 | { 1183 | "sublime_text": ">=3000", 1184 | "tags": true 1185 | } 1186 | ] 1187 | }, 1188 | { 1189 | "name": "SublimeLinter-contrib-roslint", 1190 | "details": "https://github.com/sotilrac/SublimeLinter-roslint", 1191 | "labels": ["linting", "SublimeLinter", "ROS", "roslint", "c++"], 1192 | "releases": [ 1193 | { 1194 | "sublime_text": ">=3000", 1195 | "tags": true 1196 | } 1197 | ] 1198 | }, 1199 | { 1200 | "name": "SublimeLinter-contrib-rstylelint", 1201 | "details": "https://github.com/mom1/SublimeLinter-contrib-rstylelint", 1202 | "labels": ["linting", "SublimeLinter", "rsl", "r-style"], 1203 | "releases": [ 1204 | { 1205 | "sublime_text": ">=3000", 1206 | "tags": true 1207 | } 1208 | ] 1209 | }, 1210 | { 1211 | "name": "SublimeLinter-contrib-ruby-lint", 1212 | "details": "https://github.com/jawshooah/SublimeLinter-contrib-ruby-lint", 1213 | "labels": ["linting", "SublimeLinter", "ruby", "ruby-lint"], 1214 | "releases": [ 1215 | { 1216 | "sublime_text": ">=3000", 1217 | "tags": true 1218 | } 1219 | ] 1220 | }, 1221 | { 1222 | "name": "SublimeLinter-contrib-ruff", 1223 | "details": "https://github.com/kaste/SublimeLinter-contrib-ruff", 1224 | "labels": ["linting", "SublimeLinter", "python"], 1225 | "releases": [ 1226 | { 1227 | "sublime_text": "3000 - 3999", 1228 | "tags": "st3-" 1229 | }, 1230 | { 1231 | "sublime_text": ">=4000", 1232 | "tags": true 1233 | } 1234 | ] 1235 | }, 1236 | { 1237 | "name": "SublimeLinter-contrib-rustc", 1238 | "details": "https://github.com/oschwald/SublimeLinter-contrib-rustc", 1239 | "labels": ["linting", "SublimeLinter", "rust", "rustc"], 1240 | "releases": [ 1241 | { 1242 | "sublime_text": ">=3000", 1243 | "tags": true 1244 | } 1245 | ] 1246 | }, 1247 | { 1248 | "name": "SublimeLinter-contrib-salt-lint", 1249 | "details": "https://github.com/Warpnet/SublimeLinter-salt-lint", 1250 | "author": "Warpnet", 1251 | "labels": ["linting", "SublimeLinter", "salt-lint", "salt", "saltstack"], 1252 | "releases": [ 1253 | { 1254 | "sublime_text": ">=3000", 1255 | "tags": true 1256 | } 1257 | ] 1258 | }, 1259 | { 1260 | "name": "SublimeLinter-contrib-sass-lint", 1261 | "details": "https://github.com/skovhus/SublimeLinter-contrib-sass-lint", 1262 | "author": "Kenneth Skovhus", 1263 | "labels": ["linting", "SublimeLinter", "sass", "scss"], 1264 | "previous_names": ["SublimeLinter-scss-lint"], 1265 | "releases": [ 1266 | { 1267 | "sublime_text": ">=3000", 1268 | "tags": true 1269 | } 1270 | ] 1271 | }, 1272 | { 1273 | "name": "SublimeLinter-contrib-scalac", 1274 | "details": "https://github.com/jawshooah/SublimeLinter-contrib-scalac", 1275 | "author": "Josh Hagins", 1276 | "labels": ["linting", "SublimeLinter", "scala", "scalac"], 1277 | "releases": [ 1278 | { 1279 | "sublime_text": ">=3000", 1280 | "tags": true 1281 | } 1282 | ] 1283 | }, 1284 | { 1285 | "name": "SublimeLinter-contrib-scalastyle", 1286 | "details": "https://github.com/jawshooah/SublimeLinter-contrib-scalastyle", 1287 | "author": "Josh Hagins", 1288 | "labels": ["linting", "SublimeLinter", "scala", "scalastyle"], 1289 | "releases": [ 1290 | { 1291 | "sublime_text": ">=3000", 1292 | "tags": true 1293 | } 1294 | ] 1295 | }, 1296 | { 1297 | "name": "SublimeLinter-contrib-scss-lint", 1298 | "details": "https://github.com/attenzione/SublimeLinter-scss-lint", 1299 | "author": "Sergey Margaritov", 1300 | "labels": ["linting", "SublimeLinter", "scss", "sass"], 1301 | "releases": [ 1302 | { 1303 | "sublime_text": ">=3000", 1304 | "tags": true 1305 | } 1306 | ] 1307 | }, 1308 | { 1309 | "name": "SublimeLinter-contrib-selene", 1310 | "details": "https://github.com/alihsaas/SublimeLinter-contrib-selene", 1311 | "labels": ["linting","SublimeLinter","lua","roblox"], 1312 | "releases": [ 1313 | { 1314 | "sublime_text": ">=3000", 1315 | "tags": true 1316 | } 1317 | ] 1318 | }, 1319 | { 1320 | "name": "SublimeLinter-contrib-semistandard", 1321 | "details": "https://github.com/Flet/SublimeLinter-contrib-semistandard", 1322 | "labels": ["linting", "SublimeLinter", "semistandard", "javascript","semicolon"], 1323 | "releases": [ 1324 | { 1325 | "sublime_text": ">=3000", 1326 | "tags": true 1327 | } 1328 | ] 1329 | }, 1330 | { 1331 | "name": "SublimeLinter-contrib-serplint", 1332 | "details": "https://github.com/beaugunderson/SublimeLinter-contrib-serplint", 1333 | "labels": ["linting", "SublimeLinter", "serplint", "serpent"], 1334 | "releases": [ 1335 | { 1336 | "sublime_text": ">=3000", 1337 | "tags": true 1338 | } 1339 | ] 1340 | }, 1341 | { 1342 | "name": "SublimeLinter-contrib-slim-lint", 1343 | "details": "https://github.com/elstgav/SublimeLinter-slim-lint", 1344 | "labels": ["linting", "SublimeLinter", "slim", "ruby"], 1345 | "previous_names": ["SublimeLinter-slim-lint"], 1346 | "releases": [ 1347 | { 1348 | "sublime_text": ">=3000", 1349 | "tags": true 1350 | } 1351 | ] 1352 | }, 1353 | { 1354 | "name": "SublimeLinter-contrib-solhint", 1355 | "details": "https://github.com/idrabenia/SublimeLinter-contrib-solhint", 1356 | "labels": ["linting", "SublimeLinter", "solidity", "ethereum"], 1357 | "releases": [ 1358 | { 1359 | "sublime_text": ">=3000", 1360 | "tags": true 1361 | } 1362 | ] 1363 | }, 1364 | { 1365 | "name": "SublimeLinter-contrib-spider", 1366 | "details": "https://github.com/zekesonxx/SublimeLinter-contrib-spider", 1367 | "labels": ["linting", "SublimeLinter", "spider", "javascript"], 1368 | "releases": [ 1369 | { 1370 | "sublime_text": ">=3000", 1371 | "tags": true 1372 | } 1373 | ] 1374 | }, 1375 | { 1376 | "name": "SublimeLinter-contrib-sqlint", 1377 | "details": "https://github.com/trezona-lecomte/SublimeLinter-contrib-sqlint", 1378 | "labels": ["linting", "SublimeLinter", "sqlint", "sql"], 1379 | "releases": [ 1380 | { 1381 | "sublime_text": ">=3000", 1382 | "tags": true 1383 | } 1384 | ] 1385 | }, 1386 | { 1387 | "name": "SublimeLinter-contrib-standard", 1388 | "details": "https://github.com/Flet/SublimeLinter-contrib-standard", 1389 | "labels": ["linting", "SublimeLinter", "standard", "javascript"], 1390 | "releases": [ 1391 | { 1392 | "sublime_text": ">=3000", 1393 | "tags": true 1394 | } 1395 | ] 1396 | }, 1397 | { 1398 | "name": "SublimeLinter-contrib-standardrb", 1399 | "details": "https://github.com/testdouble/SublimeLinter-contrib-standardrb", 1400 | "labels": ["linting", "SublimeLinter", "standard", "standardrb", "ruby"], 1401 | "releases": [ 1402 | { 1403 | "sublime_text": ">=3000", 1404 | "tags": true 1405 | } 1406 | ] 1407 | }, 1408 | { 1409 | "name": "SublimeLinter-contrib-staticcheck", 1410 | "details": "https://github.com/patrickrgaffney/SublimeLinter-contrib-staticcheck", 1411 | "labels": ["linting", "SublimeLinter", "go", "golang", "staticcheck"], 1412 | "releases": [ 1413 | { 1414 | "sublime_text": ">=3000", 1415 | "tags": true 1416 | } 1417 | ] 1418 | }, 1419 | { 1420 | "name": "SublimeLinter-contrib-stylelint_d", 1421 | "details": "https://github.com/jo-sm/SublimeLinter-contrib-stylelint_d", 1422 | "labels": ["linting", "SublimeLinter", "css", "less", "sass"], 1423 | "releases": [ 1424 | { 1425 | "sublime_text": ">=3000", 1426 | "tags": true 1427 | } 1428 | ] 1429 | }, 1430 | { 1431 | "name": "SublimeLinter-contrib-stylint", 1432 | "details": "https://github.com/markalfred/SublimeLinter-contrib-stylint", 1433 | "labels": ["linting", "SublimeLinter", "stylint", "stylus"], 1434 | "releases": [ 1435 | { 1436 | "sublime_text": ">=3000", 1437 | "tags": true 1438 | } 1439 | ] 1440 | }, 1441 | { 1442 | "name": "SublimeLinter-contrib-sublime-syntax", 1443 | "details": "https://github.com/FichteFoll/SublimeLinter-contrib-sublime-syntax", 1444 | "labels": ["linting", "SublimeLinter", "syntax", "test"], 1445 | "releases": [ 1446 | { 1447 | "sublime_text": "3092 - 4180", 1448 | "tags": "3092-" 1449 | }, 1450 | { 1451 | "sublime_text": ">=4181", 1452 | "tags": "4181-" 1453 | } 1454 | ] 1455 | }, 1456 | { 1457 | "name": "SublimeLinter-contrib-swaglint", 1458 | "details": "https://github.com/byCedric/SublimeLinter-contrib-swaglint", 1459 | "labels": ["linting", "SublimeLinter", "yaml"], 1460 | "releases": [ 1461 | { 1462 | "sublime_text": ">=3000", 1463 | "platforms": ["osx"], 1464 | "tags": true 1465 | } 1466 | ] 1467 | }, 1468 | { 1469 | "name": "SublimeLinter-contrib-swiftlint", 1470 | "details": "https://github.com/mailiam/SublimeLinter-contrib-swiftlint", 1471 | "labels": ["linting", "SublimeLinter", "swift"], 1472 | "releases": [ 1473 | { 1474 | "sublime_text": ">=3000", 1475 | "platforms": ["osx", "linux"], 1476 | "tags": true 1477 | } 1478 | ] 1479 | }, 1480 | { 1481 | "name": "SublimeLinter-contrib-tailor", 1482 | "details": "https://github.com/vaemoi/SublimeLinter-contrib-tailor", 1483 | "labels": ["linting", "SublimeLinter", "swift"], 1484 | "releases": [ 1485 | { 1486 | "sublime_text": ">=3000", 1487 | "tags": true 1488 | } 1489 | ] 1490 | }, 1491 | { 1492 | "name": "SublimeLinter-contrib-terraform", 1493 | "details": "https://github.com/patrickrgaffney/SublimeLinter-contrib-terraform", 1494 | "labels": ["linting", "SublimeLinter", "terraform", "hashicorp", "HCL"], 1495 | "releases": [ 1496 | { 1497 | "sublime_text": ">=3000", 1498 | "tags": true 1499 | } 1500 | ] 1501 | }, 1502 | { 1503 | "name": "SublimeLinter-contrib-textlint", 1504 | "details": "https://github.com/joeybaker/SublimeLinter-textlint", 1505 | "labels": ["linting", "SublimeLinter", "markdown"], 1506 | "releases": [ 1507 | { 1508 | "sublime_text": ">=3000", 1509 | "tags": true 1510 | } 1511 | ] 1512 | }, 1513 | { 1514 | "name": "SublimeLinter-contrib-tflint", 1515 | "details": "https://github.com/mcw0933/SublimeLinter-contrib-tflint", 1516 | "labels": ["linting", "SublimeLinter", "terraform", "hashicorp", "HCL"], 1517 | "releases": [ 1518 | { 1519 | "sublime_text": ">=3000", 1520 | "tags": true 1521 | } 1522 | ] 1523 | }, 1524 | { 1525 | "name": "SublimeLinter-contrib-tlint", 1526 | "details": "https://github.com/tighten/tlint-sublime-plugin", 1527 | "labels": ["linting", "SublimeLinter", "tlint"], 1528 | "releases": [ 1529 | { 1530 | "sublime_text": ">=3000", 1531 | "tags": true 1532 | } 1533 | ] 1534 | }, 1535 | { 1536 | "name": "SublimeLinter-contrib-ts-standard", 1537 | "details": "https://github.com/sambauers/SublimeLinter-contrib-ts-standard", 1538 | "labels": ["linting", "SublimeLinter", "standard", "ts-standard", "typescript"], 1539 | "releases": [ 1540 | { 1541 | "sublime_text": ">=3000", 1542 | "tags": true 1543 | } 1544 | ] 1545 | }, 1546 | { 1547 | "name": "SublimeLinter-contrib-twiglint", 1548 | "details": "https://github.com/maxgalbu/SublimeLinter-contrib-twiglint", 1549 | "labels": ["linting", "SublimeLinter", "twig"], 1550 | "releases": [ 1551 | { 1552 | "sublime_text": ">=3000", 1553 | "tags": true 1554 | } 1555 | ] 1556 | }, 1557 | { 1558 | "name": "SublimeLinter-contrib-vala-lint", 1559 | "details": "https://github.com/colinkiama/SublimeLinter-contrib-vala-lint", 1560 | "labels": ["linting", "SublimeLinter", "vala", "gnome"], 1561 | "releases": [ 1562 | { 1563 | "sublime_text": ">=3000", 1564 | "tags": true 1565 | } 1566 | ] 1567 | }, 1568 | { 1569 | "name": "SublimeLinter-contrib-verilator", 1570 | "details": "https://github.com/poucotm/SublimeLinter-contrib-verilator", 1571 | "labels": ["linting", "SublimeLinter", "verilog", "systemverilog", "verilator"], 1572 | "releases": [ 1573 | { 1574 | "sublime_text": ">=3000", 1575 | "tags": true 1576 | } 1577 | ] 1578 | }, 1579 | { 1580 | "name": "SublimeLinter-contrib-webhare", 1581 | "details": "https://github.com/WebHare/sublime-linter", 1582 | "labels": ["linting", "SublimeLinter"], 1583 | "releases": [ 1584 | { 1585 | "sublime_text": ">=3092", 1586 | "platforms": ["osx", "linux"], 1587 | "tags": true 1588 | } 1589 | ] 1590 | }, 1591 | { 1592 | "name": "SublimeLinter-contrib-wollok-checker", 1593 | "details": "https://github.com/uqbar-project/wollok-sublime-linter", 1594 | "labels": ["linting", "SublimeLinter"], 1595 | "releases": [ 1596 | { 1597 | "sublime_text": ">=3000", 1598 | "tags": true 1599 | } 1600 | ] 1601 | }, 1602 | { 1603 | "name": "SublimeLinter-contrib-write-good", 1604 | "details": "https://github.com/ckaznocha/SublimeLinter-contrib-write-good", 1605 | "labels": ["linting", "SublimeLinter"], 1606 | "releases": [ 1607 | { 1608 | "sublime_text": ">=3000", 1609 | "tags": true 1610 | } 1611 | ] 1612 | }, 1613 | { 1614 | "name": "SublimeLinter-contrib-xo", 1615 | "details": "https://github.com/xojs/SublimeLinter-contrib-xo", 1616 | "labels": ["linting", "SublimeLinter", "javascript", "xo"], 1617 | "releases": [ 1618 | { 1619 | "sublime_text": ">=3000", 1620 | "tags": true 1621 | } 1622 | ] 1623 | }, 1624 | { 1625 | "name": "SublimeLinter-contrib-xqlint", 1626 | "details": "https://github.com/jmeischner/SublimeLinter-contrib-xqlint", 1627 | "labels": ["linting", "SublimeLinter", "xquery"], 1628 | "releases": [ 1629 | { 1630 | "sublime_text": ">=3000", 1631 | "tags": true 1632 | } 1633 | ] 1634 | }, 1635 | { 1636 | "name": "SublimeLinter-contrib-xsim", 1637 | "details": "https://github.com/mzh330521/SublimeLinter-contrib-xsim", 1638 | "author": "Mei Zihao", 1639 | "labels": ["linting", "SublimeLinter", "verilog", "systemverilog", "vhdl", "xsim", "vivado-simulator"], 1640 | "releases": [ 1641 | { 1642 | "sublime_text": ">=3000", 1643 | "tags": true 1644 | } 1645 | ] 1646 | }, 1647 | { 1648 | "name": "SublimeLinter-contrib-xvhdl", 1649 | "details": "https://github.com/BrunoJJE/SublimeLinter-contrib-xvhdl", 1650 | "labels": ["linting", "SublimeLinter", "vhdl"], 1651 | "releases": [ 1652 | { 1653 | "sublime_text": ">=3000", 1654 | "tags": true 1655 | } 1656 | ] 1657 | }, 1658 | { 1659 | "name": "SublimeLinter-contrib-yaml-lint", 1660 | "details": "https://github.com/witsec/SublimeLinter-contrib-yaml-lint", 1661 | "labels": ["linting", "SublimeLinter", "yaml"], 1662 | "releases": [ 1663 | { 1664 | "sublime_text": ">=3000", 1665 | "tags": true 1666 | } 1667 | ] 1668 | }, 1669 | { 1670 | "name": "SublimeLinter-contrib-yamllint", 1671 | "details": "https://github.com/thomasmeeus/SublimeLinter-contrib-yamllint", 1672 | "labels": ["linting", "SublimeLinter", "yaml"], 1673 | "releases": [ 1674 | { 1675 | "sublime_text": ">=3000", 1676 | "tags": true 1677 | } 1678 | ] 1679 | }, 1680 | { 1681 | "name": "SublimeLinter-contrib-zig-check", 1682 | "details": "https://github.com/alexkuz/SublimeLinter-contrib-zig-check", 1683 | "labels": ["linting", "SublimeLinter", "zig"], 1684 | "releases": [ 1685 | { 1686 | "sublime_text": ">=3000", 1687 | "tags": true 1688 | } 1689 | ] 1690 | }, 1691 | { 1692 | "name": "SublimeLinter-contrib-ziglint", 1693 | "details": "https://github.com/squeek502/SublimeLinter-contrib-ziglint", 1694 | "labels": ["linting", "SublimeLinter", "zig"], 1695 | "releases": [ 1696 | { 1697 | "sublime_text": ">=3000", 1698 | "tags": true 1699 | } 1700 | ] 1701 | } 1702 | ] 1703 | } 1704 | --------------------------------------------------------------------------------