{"id":14982808,"url":"https://github.com/prantlf/vscode-oscript","last_synced_at":"2025-10-29T16:31:13.274Z","repository":{"id":57316457,"uuid":"255450455","full_name":"prantlf/vscode-oscript","owner":"prantlf","description":"Provides syntax checking and fixing, highlighting, autocompletion, hints, symbol outline, identifier recognition and renaming and other features for the OScript language in Visual Studio Code.","archived":false,"fork":false,"pushed_at":"2022-04-24T17:30:26.000Z","size":1701,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-18T13:38:13.940Z","etag":null,"topics":["lint","oscript","syntax-checking","syntax-highlighting","vscode-extension","vscode-language"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=prantlf.vscode-oscript","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prantlf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-13T21:58:34.000Z","updated_at":"2024-09-16T07:58:57.000Z","dependencies_parsed_at":"2022-08-25T21:11:03.367Z","dependency_job_id":null,"html_url":"https://github.com/prantlf/vscode-oscript","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/prantlf/vscode-oscript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fvscode-oscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fvscode-oscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fvscode-oscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fvscode-oscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prantlf","download_url":"https://codeload.github.com/prantlf/vscode-oscript/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prantlf%2Fvscode-oscript/sbom","scorecard":{"id":743774,"data":{"date":"2025-08-11","repo":{"name":"github.com/prantlf/vscode-oscript","commit":"60eb04ac70dd0b37cb20d871c9a2d95b41446233"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/prantlf/vscode-oscript/test.yml/master?enable=pin","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   2 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3.0 not signed: https://api.github.com/repos/prantlf/vscode-oscript/releases/65174669","Warn: release artifact v0.2.5 not signed: https://api.github.com/repos/prantlf/vscode-oscript/releases/36205780","Warn: release artifact v0.2.4 not signed: https://api.github.com/repos/prantlf/vscode-oscript/releases/36205781","Warn: release artifact v0.2.3 not signed: https://api.github.com/repos/prantlf/vscode-oscript/releases/35933013","Warn: release artifact v0.2.2 not signed: https://api.github.com/repos/prantlf/vscode-oscript/releases/35932496","Warn: release artifact v0.3.0 does not have provenance: https://api.github.com/repos/prantlf/vscode-oscript/releases/65174669","Warn: release artifact v0.2.5 does not have provenance: https://api.github.com/repos/prantlf/vscode-oscript/releases/36205780","Warn: release artifact v0.2.4 does not have provenance: https://api.github.com/repos/prantlf/vscode-oscript/releases/36205781","Warn: release artifact v0.2.3 does not have provenance: https://api.github.com/repos/prantlf/vscode-oscript/releases/35933013","Warn: release artifact v0.2.2 does not have provenance: https://api.github.com/repos/prantlf/vscode-oscript/releases/35932496"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"10 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T18:11:29.920Z","repository_id":57316457,"created_at":"2025-08-22T18:11:29.921Z","updated_at":"2025-08-22T18:11:29.921Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281654342,"owners_count":26538644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lint","oscript","syntax-checking","syntax-highlighting","vscode-extension","vscode-language"],"created_at":"2024-09-24T14:06:07.594Z","updated_at":"2025-10-29T16:31:12.944Z","avatar_url":"https://github.com/prantlf.png","language":"TypeScript","readme":"# OScript Language for Visual Studio Code\n\n[\u003cimg src=https://raw.githubusercontent.com/prantlf/vscode-oscript/master/doc/logo.png height=20 alt=Logo\u003e][from the marketplace]\n[![Build Status](https://github.com/prantlf/vscode-oscript/workflows/Test/badge.svg)](https://github.com/prantlf/vscode-oscript/actions)\n[![Dependency Status](https://david-dm.org/prantlf/vscode-oscript.svg)](https://david-dm.org/prantlf/vscode-oscript)\n[![devDependency Status](https://david-dm.org/prantlf/vscode-oscript/dev-status.svg)](https://david-dm.org/prantlf/vscode-oscript#info=devDependencies)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n\nProvides syntax checking and fixing, highlighting, autocompletion, hints, symbol outline, identifier recognition and renaming and other features for the [OScript language] in [Visual Studio Code].\n\n## Installation\n\nInstall this extension to your Visual Studio Code [from the marketplace], or download a specific version of a [released package] and install it from the file.\n\n## Features\n\nExcept for the first four features below, the others depend on the [OScript language server], which will be started in the background automatically.\n\n* [Syntax Highlighting](#syntax-highlighting)\n* [Scope Folding](#scope-folding)\n* [Code Commenting / Uncommenting](#code-commenting-uncommenting)\n* [Bracket Matching](#bracket-matching)\n* [Syntax Checking](#syntax-checking)\n* [Quick Fixes](#quick-fixes)\n* [Autocompletion](#autocompletion)\n* [Hints on Hover](#hints-on-hover)\n* [Symbol Outline](#symbol-outline)\n* [Definition and References](#definition-and-references)\n* [Renaming](#renaming)\n* [Run Script](#run-script)\n\n### Syntax Highlighting\n\nThe source code is broken down to tokens like keyword, identifier or literal, which are recognised by the highlighter. You just choose a visual theme to colourise them.\n\nAn example of the syntax highlighting in the Dark+ theme:\n\n![Dark highlighting](doc/examples/highlighted-dark-theme.png)\n\nAn example of the syntax highlighting in the Light+ theme:\n\n![Light highlighting](doc/examples/highlighted-light-theme.png)\n\n### Scope Folding\n\nFoldable scopes are comments, preprocessor directive blocks, objects, scripts and functions. The scope-closing token (the `end` keyword, the `#else` or `#endif` directives, or the multiline-commend ending `*/`) will be included in the folded code.\n\n![Folded function](doc/examples/folded-function.png)\n\n### Code Commenting / Uncommenting\n\nCommands \"Toggle Line Comment\" (`Cmd+/`) and \"Toggle Block Comment\" (`Shift+Alt+A`) can be used to enclose a code block in a comment, or undo this operation.\n\n![Commented-out code](doc/examples/commented-out-code.png)\n\n### Bracket Matching\n\nParentheses, square brackets and curly braces are recognised as pairs, so that you can navigate between them or emphasize them. You can make use of it using commands like \"Go to Bracket\" (`Shift+Cmd+\\`) or extensions like [Bracket Pair Colorizer 2].\n\n![Highlighted brackets](doc/examples/bracket-matching.png)\n\n### Syntax Checking\n\nStatic source code analysis can point to syntax errors, which would make the later compilation fail. Parsing of the source code will stop after the first error is encountered. Problems that the compiler can recover from are reported as warnings.\n\nYou can see all problems in the Problems sidebar:\n\n![Syntax error and warning in a sidebar](doc/examples/error-and-warning.png)\n\nYou can also show details about a problem that you focused in-place by the command \"Peek Problem\" (`Alt-F8`):\n\n![Peek problem details](doc/examples/problem-preview.png)\n\n### Quick Fixes\n\nSome problems encountered during the syntax check can be corrected automatically. They are reported as warnings. If you hover above the problem location, you will be able to click on \"Quick Fix...\" (`Cmd+.`):\n\n![Problem when hovered above](doc/examples/problem-hover.png)\n\nWhen executing the command, you will be able to pick a kind of the fix to perform on the source code:\n\n![Quick fixes for a problem](doc/examples/problem-fixes.png)\n\n### Autocompletion\n\nAutocompletion with details collapsed:\n\n![Autocompletion with details collapsed](doc/examples/completion-collapsed.png)\n\nAutocompletion with details expanded:\n\n![Autocompletion with details expanded](doc/examples/completion-expanded.png)\n\nThe autocompletion works currently only for the built-in global functions and object methods.\n\n### Hints on Hover\n\nA hint about the usage of a keyword or an identifier will be displayed when hovering the mouse cursor above it. The information is the same as for the autocompletion.\n\n![Hover hint](doc/examples/hover-hint.png)\n\nThe hover hints work currently only for the built-in global functions and object methods.\n\n### Symbol Outline\n\nSymbols that introduce scopes to the code, like objects, functions or script are displayed in the Outline sidebar or in the document breadcrumb area to help you orientate yourself in the source file.\n\n![Symbol outline and breadcrumb](doc/examples/symbol-outline.png)\n\n### Definition and References\n\nYou can jump to the definition of a variable or a function by the command \"Go to Definition\" (`F12`):\n\n![Go to definition](doc/examples/definition.png)\n\nYou can cycle over references of a variable or a function one-by-one by the command \"Go to References\" (`Shift+F12`):\n\n![Go to references](doc/examples/references-preview.png)\n\nYou can also list all references of a variable or a function by the command \"Find All References\" (`Shift+Alt+F12`):\n\n![Find all references](doc/examples/references-sidebar.png)\n\nThe support for definitions and references works currently only for the locally declared variables and functions.\n\n### Renaming\n\nYou can rename a variable or a function by the command \"Rename Symbol\" (`F2`).\n\n![Rename symbol after hitting F2](doc/examples/rename-before.png)\n\n![Rename symbol result](doc/examples/rename-after.png)\n\nIdentifier renaming works currently only for the locally declared variables and functions.\n\n### Run Script\n\nYou can run a script (ending with `.e` or `.lxe`) and watch the progress on the console. For example:\n\n    Echo(\"Hello, world!\")\n\nWill print \"Hello, world!\" to the console output.\n\nThis feature is in the development and depended on the state of [oscript-interpreter].\n\n## Settings\n\nThis extension contributes the following settings. Names of the properties in table are shortened not to occupy so much space. They have to be prefixed by \"oscript.\" to get the full name:\n\n| Name                     | Type      | Description                             | Default   |\n| ------------------------ | --------- | --------------------------------------- | --------- |\n| `languageServer.enabled` | `boolean` | enable/disable the language server      | `true`    |\n| `validation.enabled`     | `boolean` | enable/disable syntax validation        | `true`    |\n| `completion.enabled`     | `boolean` | enable/disable typing completion        | `true`    |\n| `hover.enabled`          | `boolean` | enable/disable the hover hints          | `true`    |\n| `symbols.enabled`        | `boolean` | enable/disable the symbol outline       | `true`    |\n| `definition.enabled`     | `boolean` | enable/disable locating definitions     | `true`    |\n| `references.enabled`     | `boolean` | enable/disable finding references       | `true`    |\n| `rename.enabled`         | `boolean` | enable/disable identifier renaming      | `true`    |\n| `quickFixes.enabled`     | `boolean` | enable/disable quick-fixes for problems | `true`    |\n| `whatIsNew.change`       | `string`  | limit the \"What Is New\" announcement    | `\"minor\"` |\n| `logging.level`          | `string`  | level of console diagnostics messages   | `\"error\"` |\n\nExpected values for the `oscript.whatIsNew.change` property are `\"none\"`, `\"major\"` , `\"minor\"` or `\"patch\"`. They refer to a change in the version format `major.minor.patch`.\n\nExpected values for the `oscript.logging.level` property are `\"error\"`, `\"warning\"` or `\"debug\"`.\n\nIf `oscript.languageServer.enabled` is set to `false`, all features will be disabled, which need the [OScript language server].\n\n## Planned\n\n* Autocompletion and hover hints for user code\n* Go to definition\n* Renaming of other than local identifiers and files\n* Snippets\n* WebLingo support\n\n## Notes\n\nIf you keep to the official OScript coding standard, use tabs and set the visual tab size to 4 in `settings.json`:\n\n```json\n\"[oscript]\": {\n  \"editor.tabSize\": 4,\n  \"editor.insertSpaces\": false,\n  \"editor.detectIndentation\": false\n}\n````\n\n## Troubleshooting\n\nIf you encounter an unexpected behaviour, inspecting the debug output may help to pinpoint the problem. Diagnostic messages can be enabled by:\n\n```json\n\"oscript.logging.level\": \"debug\"\n````\n\nIf you encounter problems with features supplied by the [OScript language server], you can disable them by [boolean flags](#settings) described above. If you encounter performance problems, you can disable all features using the language server and retain just features supplied by the [static language description] like syntax highlighting:\n\n```json\n\"oscript.languageServer.enabled\": false\n````\n\nIf you do encounter such problems, [file a bug report] about it, please. Thank you!\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding\nstyle. Run `npm test` to validate your changes. Use the examples\nin the `pkg/examples` directory to check the effect of your changes.\n\n## Others\n\nUsers of [TextMate] can install the [OScript Bundle]. Other editors with the syntax highlighting for OScript are based on [Scintilla], for example. [SciTE], [Geany], [Nodepad++] and [others] include a [colourful theme] for the [OScript lexer].\n\nWeb pages can highlight the OScript syntax of a code example [using JavaScript].\n\n## License\n\nCopyright (c) 2020-2022 Ferdinand Prantl\n\nThe logo was based on an [original icon](https://icon-icons.com/icon/file-type-vscode/130084) published among [vscode by Roberto Huertas](https://icon-icons.com/pack/vscode/2107) under the [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) license. Thank you!\n\nLicensed under the [MIT license].\n\n[Visual Studio Code]: https://code.visualstudio.com/\n[from the marketplace]: https://marketplace.visualstudio.com/items?itemName=prantlf.vscode-oscript\n[released package]: https://github.com/prantlf/vscode-oscript/releases\n[OScript language]: https://github.com/prantlf/oscript-parser/blob/master/doc/grammar.md#oscript-language-grammar\n[oscript-interpreter]: https://www.npmjs.com/package/oscript-interpreter\n[OScript language server]: ./pkg/server/#readme\n[Bracket Pair Colorizer 2]: https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2\n[static language description]: ./pkg/syntaxes/\n[file a bug report]: https://github.com/prantlf/vscode-oscript/issues/new/choose\n[TextMate]: https://macromates.com/\n[OScript Bundle]: https://github.com/prantlf/oscript.tmbundle\n[Scintilla]: https://scintilla.org/\n[SciTE]: https://www.scintilla.org/SciTE.html\n[colourful theme]: https://sourceforge.net/p/scintilla/scite/ci/default/tree/src/oscript.properties\n[OScript lexer]: https://sourceforge.net/p/scintilla/code/ci/default/tree/lexers/LexOScript.cxx\n[Geany]: https://www.geany.org/\n[Nodepad++]: https://notepad-plus-plus.org/\n[others]: https://www.scintilla.org/ScintillaRelated.html\n[using JavaScript]: http://prantlf.blogspot.com/2012/07/oscript-syntax-highlighting-in-pure.html\n[MIT license]: ./LICENSE\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Fvscode-oscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprantlf%2Fvscode-oscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprantlf%2Fvscode-oscript/lists"}