This package provides:
This package consumes:
Made for Pulsar!
This package was written specifically for Pulsar and did not exist in the Atom package repository.
A unified linting package that combines linting infrastructure with an integrated UI.
Fork of linter and linter-ui-default.
To install linter-bundle search for linter-bundle in the Install pane of the Pulsar settings or run ppm install linter-bundle. Alternatively, you can run ppm install asiloisad/pulsar-linter-bundle to install a package directly from the GitHub repository.
Commands available in atom-workspace:
linter-bundle:toggle-panel: (Alt+L) toggle the linter panel visibility,linter-bundle:toggle-linter: toggle a linter provider on/off.Commands available in atom-text-editor:not([mini]):
linter-bundle:lint: manually trigger linting on the current file,linter-bundle:debug: show debug information about active linters,linter-bundle:state: toggle linting for the current editor,linter-bundle:inspect: show message bubble at cursor position,linter-bundle:next: (Alt+') jump to next linter message,linter-bundle:previous: (Alt+;) jump to previous linter message,linter-bundle:clear: clear linter messages for the current editor.| Setting | Description | Default |
|---|---|---|
lintPreviewTabs |
Lint tabs while in preview status | true |
lintOnOpen |
Lint files when opened | true |
lintOnChange |
Lint while typing (if supported by provider) | true |
lintOnChangeInterval |
Debounce interval for lint-on-change (ms) | 300 |
ignoreGlob |
Glob pattern for files to ignore | **/*.min.{js,css} |
disabledProviders |
List of disabled linter provider names | [] |
defaultSortMethod |
Default sort method for linter panel | position |
showHoverTooltip |
Show linter messages when hovering over issues | true |
largeFileLineCount |
Skip inline decorations for files with more lines | 20000 |
longLineLength |
Skip inline decorations if any line exceeds this length | 4000 |
scrollMapState |
Display linter markers on scroll bar | true |
linter (v2.0.0)Standard linter provider interface. Packages like linter-eslint, linter-ruff, etc. provide this service.
// Provider example
module.exports = {
provideLinter() {
return {
name: "my-linter",
scope: "file", // or 'project'
lintsOnChange: true,
grammarScopes: ["source.js"],
lint(editor) {
return [
{
severity: "error", // 'error' | 'warning' | 'info'
location: {
file: editor.getPath(),
position: [
[0, 0],
[0, 1],
],
},
excerpt: "Error message",
},
];
},
};
},
};
linter-ui (v1.0.0)External UI providers that want to display linter messages. Used by packages like linter-bundle to show linter markers on the scrollbar.
// UI provider example
module.exports = {
provideLinterUI() {
return {
name: "my-ui",
render({ added, removed, messages }) {
// Handle message updates
},
didBeginLinting({ linter, filePath }) {},
didFinishLinting({ linter, filePath }) {},
dispose() {},
};
},
};
linter-indie (v2.0.0)Indie linter delegate for custom integrations. Allows packages to push linter messages directly without implementing the full linter provider interface.
// Consumer example
module.exports = {
consumeIndie(registerIndie) {
const indie = registerIndie({ name: "my-indie-linter" });
// Set messages for a specific file
indie.setMessages("/path/to/file.js", [
{
severity: "warning",
location: {
file: "/path/to/file.js",
position: [
[0, 0],
[0, 1],
],
},
excerpt: "Warning message",
},
]);
// Or set all messages at once
indie.setAllMessages([
/* messages */
]);
// Clear all messages
indie.clearMessages();
},
};
The style can be adjusted according to user preferences in the styles.less file:
.linter-text {
&.error {
background-image: none;
border-bottom: 1px solid @text-color-error;
}
&.warning {
background-image: none;
border-bottom: 1px solid @text-color-warning;
}
&.info {
background-image: none;
border-bottom: 1px solid @text-color-info;
}
}
Got ideas to make this package better, found a bug, or want to help add new features? Just drop your thoughts on GitHub — any feedback's welcome!