Skip to content

Commit d7925fb

Browse files
committed
working on linting
1 parent 128530b commit d7925fb

File tree

3 files changed

+23
-15
lines changed

3 files changed

+23
-15
lines changed

packages/components/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,7 @@
335335
"./modifiers/hds-clipboard.js": "./dist/_app_/modifiers/hds-clipboard.js",
336336
"./modifiers/hds-code-editor.js": "./dist/_app_/modifiers/hds-code-editor.js",
337337
"./modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js": "./dist/_app_/modifiers/hds-code-editor/highlight-styles/hds-dark-highlight-style.js",
338+
"./modifiers/hds-code-editor/languages/rego.js": "./dist/_app_/modifiers/hds-code-editor/languages/rego.js",
338339
"./modifiers/hds-code-editor/languages/sentinel.js": "./dist/_app_/modifiers/hds-code-editor/languages/sentinel.js",
339340
"./modifiers/hds-code-editor/palettes/hds-dark-palette.js": "./dist/_app_/modifiers/hds-code-editor/palettes/hds-dark-palette.js",
340341
"./modifiers/hds-code-editor/themes/hds-dark-theme.js": "./dist/_app_/modifiers/hds-code-editor/themes/hds-dark-theme.js",

packages/components/src/modifiers/hds-code-editor.ts

+13-15
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { assert, warn } from '@ember/debug';
88
import { registerDestructor } from '@ember/destroyable';
99
import { task } from 'ember-concurrency';
1010
import config from 'ember-get-config';
11+
import { linter } from '@codemirror/lint';
1112

1213
// hds-dark theme
1314
import hdsDarkTheme from './hds-code-editor/themes/hds-dark-theme.ts';
@@ -274,21 +275,18 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
274275
let lintingExtension: Extension | undefined;
275276

276277
if (isLintingEnabled) {
277-
const [{ linter }, { syntaxTree }] = await Promise.all([
278-
import('@codemirror/lint'),
279-
import('@codemirror/language'),
280-
]);
281-
282278
lintingExtension = linter(
283279
(view) => {
284280
console.log('Test linter triggered', view.state.doc.toString());
285-
return [];
281+
return [
282+
{ from: 0, to: 0, severity: 'error', message: 'Test error' },
283+
];
286284
},
287285
{ delay: 0 }
288286
);
289287
}
290288

291-
console.log(lintingExtension);
289+
console.log({ lintingExtension });
292290

293291
const languageExtension = await this._loadLanguageTask.perform(language);
294292

@@ -311,13 +309,13 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
311309
);
312310

313311
let extensions = [
314-
bracketMatching(),
315-
highlightActiveLine(),
316-
highlightActiveLineGutter(),
317-
highlightSpecialChars(),
318-
history(),
319-
lineNumbers(),
320-
keymap.of([...defaultKeymap, ...historyKeymap]),
312+
// bracketMatching(),
313+
// highlightActiveLine(),
314+
// highlightActiveLineGutter(),
315+
// highlightSpecialChars(),
316+
// history(),
317+
// lineNumbers(),
318+
// keymap.of([...defaultKeymap, ...historyKeymap]),
321319
// custom extensions
322320
handleUpdateExtension,
323321
// hds dark theme
@@ -326,7 +324,7 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
326324
];
327325

328326
if (languageExtension !== undefined) {
329-
extensions = [languageExtension, ...extensions];
327+
extensions = [...extensions, languageExtension];
330328
}
331329

332330
if (lintingExtension !== undefined) {

showcase/app/controllers/components/code-editor.js

+9
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ ut labore et dolore magna aliqua`;
1515
{
1616
value: 'rego',
1717
label: 'Rego',
18+
isLintingEnabled: true,
1819
code: `package example.test
1920
import data.users
2021
@@ -34,6 +35,7 @@ deny { base64.decode(input.encoded) == "decoded" }
3435
{
3536
value: 'ruby',
3637
label: 'Ruby',
38+
isLintingEnabled: true,
3739
code: `require 'date'
3840
3941
file_name = 'example_file.txt'
@@ -49,6 +51,7 @@ end`,
4951
{
5052
value: 'shell',
5153
label: 'Shell',
54+
isLintingEnabled: true,
5255
code: `DIR="example_directory"
5356
LOG_FILE="script.log"
5457
@@ -62,6 +65,7 @@ fi`,
6265
{
6366
value: 'go',
6467
label: 'Go',
68+
isLintingEnabled: true,
6569
code: `package main
6670
6771
import "fmt"
@@ -74,6 +78,7 @@ func main() {
7478
{
7579
value: 'hcl',
7680
label: 'HCL',
81+
isLintingEnabled: true,
7782
code: `variable "region" {
7883
type = string
7984
default = "us-west-1"
@@ -82,6 +87,7 @@ func main() {
8287
{
8388
value: 'javascript',
8489
label: 'JavaScript',
90+
isLintingEnabled: true,
8591
code: `const message = 'Hello, world!';
8692
8793
function sayMessage() {
@@ -104,6 +110,7 @@ sayMessage();
104110
{
105111
value: 'sentinel',
106112
label: 'Sentinel',
113+
isLintingEnabled: true,
107114
code: `param allowed_regions = ["us-east-1", "us-west-2"]
108115
109116
main = rule { all tfplan.resources[*].instances as r { r.attributes.region in allowed_regions } }
@@ -112,13 +119,15 @@ main = rule { all tfplan.resources[*].instances as r { r.attributes.region in al
112119
{
113120
value: 'sql',
114121
label: 'SQL',
122+
isLintingEnabled: true,
115123
code: `SELECT 'Hello, world!';
116124
SELECT 'Welcome to SQL!';
117125
SELECT 'Enjoy coding!';`,
118126
},
119127
{
120128
value: 'yaml',
121129
label: 'YAML',
130+
isLintingEnabled: true,
122131
code: `app_config:
123132
name: ExampleApp
124133
version: 1.0.0

0 commit comments

Comments
 (0)