remove unneeded files

This commit is contained in:
Maciej Jur 2024-08-21 23:44:08 +02:00
parent 5d485fd805
commit 28a50b6d51
Signed by: kamov
GPG key ID: 191CBFF5F72ECAFD
77 changed files with 18 additions and 4393 deletions

1
.gitignore vendored
View file

@ -9,6 +9,7 @@ dist/
.DS_Store
# binary blobs
public/**/*.wasm
public/**/*.jpg
public/**/*.png
public/**/*.webp

View file

@ -7,9 +7,12 @@ const doc = `
let n1 = 2;
let n2 = 5;
let add = fn a b -> a + b;
let add a b = a + b;
add n1 n2
2
|> add 2
|> add 1
|> fn n -> n * -1
`;
const htmlEditor = document.getElementById('editor')!;

View file

@ -10,6 +10,9 @@
"author": "",
"license": "ISC",
"dependencies": {
"@codemirror/commands": "^6.6.0",
"@codemirror/state": "^6.4.1",
"@codemirror/view": "^6.32.0",
"codemirror": "^6.0.1"
}
}

View file

@ -8,6 +8,15 @@ importers:
.:
dependencies:
'@codemirror/commands':
specifier: ^6.6.0
version: 6.6.0
'@codemirror/state':
specifier: ^6.4.1
version: 6.4.1
'@codemirror/view':
specifier: ^6.32.0
version: 6.32.0
codemirror:
specifier: ^6.0.1
version: 6.0.1(@lezer/common@1.2.1)

34
node_modules/.modules.yaml generated vendored
View file

@ -1,34 +0,0 @@
hoistPattern:
- '*'
hoistedDependencies:
'@codemirror/language@6.10.2':
'@codemirror/language': private
'@lezer/common@1.2.1':
'@lezer/common': private
'@lezer/highlight@1.2.1':
'@lezer/highlight': private
'@lezer/lr@1.4.2':
'@lezer/lr': private
style-mod@4.1.2:
style-mod: private
w3c-keyname@2.2.8:
w3c-keyname: private
included:
dependencies: true
devDependencies: true
optionalDependencies: true
injectedDeps: {}
layoutVersion: 5
nodeLinker: isolated
packageManager: pnpm@9.7.0
pendingBuilds: []
prunedAt: Sun, 18 Aug 2024 10:07:36 GMT
publicHoistPattern:
- '*eslint*'
- '*prettier*'
registries:
default: https://registry.npmjs.org/
skipped: []
storeDir: /home/kamov/.local/share/pnpm/store/v3
virtualStoreDir: .pnpm
virtualStoreDirMaxLength: 120

View file

@ -1,16 +0,0 @@
name: Trigger CI
on: push
jobs:
build:
name: Dispatch to main repo
runs-on: ubuntu-latest
steps:
- name: Emit repository_dispatch
uses: mvasigh/dispatch-action@main
with:
# You should create a personal access token and store it in your repository
token: ${{ secrets.DISPATCH_AUTH }}
repo: dev
owner: codemirror
event_type: push

View file

@ -1,310 +0,0 @@
## 6.6.0 (2024-06-04)
### New features
The new `toggleTabFocusMode` and `temporarilySetTabFocusMode` commands provide control over the view's tab-focus mode.
The default keymap now binds Ctrl-m (Shift-Alt-m on macOS) to `toggleTabFocusMode`.
## 6.5.0 (2024-04-19)
### New features
The `insertNewlineKeepIndent` command inserts a newline along with the same indentation as the line before.
## 6.4.0 (2024-04-17)
### Bug fixes
Fix an issue where `deleteLine` sometimes leaves the cursor on the wrong line.
### New features
The new `deleteCharBackwardStrict` command just deletes a character, without further smart behavior around indentation.
## 6.3.3 (2023-12-28)
### Bug fixes
Fix an issue causing cursor motion commands to not dispatch a transaction when the change only affects cursor associativity.
## 6.3.2 (2023-11-28)
### Bug fixes
Fix a regression that caused `deleteCharBackward` to sometimes delete a large chunk of text.
## 6.3.1 (2023-11-27)
### Bug fixes
When undoing, store the selection after the undone change with the redo event, so that redoing restores it.
`deleteCharBackward` will no longer delete variant selector characters as separate characters.
## 6.3.0 (2023-09-29)
### Bug fixes
Make it possible for `selectParentSyntax` to jump out of or into a syntax tree overlay.
Make Cmd-Backspace and Cmd-Delete on macOS delete to the next line wrap point, not the start/end of the line.
### New features
The new `deleteLineBoundaryForward` and `deleteLineBoundaryBackward` commands delete to the start/end of the line or the next line wrapping point.
## 6.2.5 (2023-08-26)
### Bug fixes
Make `insertNewlineAndIndent` properly count indentation for tabs when copying over the previous line's indentation.
The various sub-word motion commands will now use `Intl.Segmenter`, when available, to stop at CJK language word boundaries.
Fix a bug in `insertNewlineAndIndent` that would delete text between brackets if it had no corresponding AST node.
## 6.2.4 (2023-05-03)
### Bug fixes
The by-subword motion commands now properly treat dashes, underscores, and similar as subword separators.
## 6.2.3 (2023-04-19)
### Bug fixes
Block commenting the selection no longer includes indentation on the first line.
## 6.2.2 (2023-03-10)
### Bug fixes
Fix a bug where line commenting got confused when commenting a range that crossed language boundaries.
## 6.2.1 (2023-02-15)
### Bug fixes
Keep cursor position stable in `cursorPageUp`/`cursorPageDown` when there are panels or other scroll margins active.
Make sure `toggleComment` doesn't get thrown off by local language nesting, by fetching the language data for the start of the selection line.
## 6.2.0 (2023-01-18)
### New features
The new `joinToEvent` history configuration option allows you to provide custom logic that determines whether a new transaction is added to an existing history event.
## 6.1.3 (2022-12-26)
### Bug fixes
Preserve selection bidi level when extending the selection, to prevent shift-selection from getting stuck in some kinds of bidirectional text.
## 6.1.2 (2022-10-13)
### Bug fixes
Fix a bug that caused deletion commands on non-empty ranges to incorrectly return false and do nothing, causing the editor to fall back to native behavior.
## 6.1.1 (2022-09-28)
### Bug fixes
Make sure the selection endpoints are moved out of atomic ranges when applying a deletion command to a non-empty selection.
## 6.1.0 (2022-08-18)
### Bug fixes
Prevent native behavior on Ctrl/Cmd-ArrowLeft/ArrowRight bindings, so that browsers with odd bidi behavior won't do the wrong thing at start/end of line.
Cmd-ArrowLeft/Right on macOS now moves the cursor in the direction of the arrow even in right-to-left content.
### New features
The new `cursorLineBoundaryLeft`/`Right` and `selectLineBoundaryLeft`/`Right` commands allow directional motion to line boundaries.
## 6.0.1 (2022-06-30)
### Bug fixes
Announce to the screen reader when the selection is deleted.
Also bind Ctrl-Shift-z to redo on Linux.
## 6.0.0 (2022-06-08)
### Bug fixes
Fix a bug where by-page selection commands sometimes moved one line too far.
## 0.20.0 (2022-04-20)
### Breaking changes
There is no longer a separate `commentKeymap`. Those bindings are now part of `defaultKeymap`.
### Bug fixes
Make `cursorPageUp` and `cursorPageDown` move by window height when the editor is higher than the window.
Make sure the default behavior of Home/End is prevented, since it could produce unexpected results on macOS.
### New features
The exports from @codemirror/comment are now available in this package.
The exports from the @codemirror/history package are now available from this package.
## 0.19.8 (2022-01-26)
### Bug fixes
`deleteCharBackward` now removes extending characters one at a time, rather than deleting the entire glyph at once.
Alt-v is no longer bound in `emacsStyleKeymap` and macOS's `standardKeymap`, because macOS doesn't bind it by default and it conflicts with some keyboard layouts.
## 0.19.7 (2022-01-11)
### Bug fixes
Don't bind Alt-\< and Alt-> on macOS by default, since those interfere with some keyboard layouts. Make cursorPageUp/Down scroll the view to keep the cursor in place
`cursorPageUp` and `cursorPageDown` now scroll the view by the amount that the cursor moved.
## 0.19.6 (2021-12-10)
### Bug fixes
The standard keymap no longer overrides Shift-Delete, in order to allow the native behavior of that key to happen on platforms that support it.
## 0.19.5 (2021-09-21)
### New features
Adds an `insertBlankLine` command which creates an empty line below the selection, and binds it to Mod-Enter in the default keymap.
## 0.19.4 (2021-09-13)
### Bug fixes
Make commands that affect the editor's content check `state.readOnly` and return false when that is true.
## 0.19.3 (2021-09-09)
### Bug fixes
Make by-line cursor motion commands move the cursor to the start/end of the document when they hit the first/last line.
Fix a bug where `deleteCharForward`/`Backward` behaved incorrectly when deleting directly before or after an atomic range.
## 0.19.2 (2021-08-24)
### New features
New commands `cursorSubwordForward`, `cursorSubwordBackward`, `selectSubwordForward`, and `selectSubwordBackward` which implement motion by camel case subword.
## 0.19.1 (2021-08-11)
### Bug fixes
Fix incorrect versions for @lezer dependencies.
## 0.19.0 (2021-08-11)
### Breaking changes
Change default binding for backspace to `deleteCharBackward`, drop `deleteCodePointBackward`/`Forward` from the library.
`defaultTabBinding` was removed.
### Bug fixes
Drop Alt-d, Alt-f, and Alt-b bindings from `emacsStyleKeymap` (and thus from the default macOS bindings).
`deleteCharBackward` and `deleteCharForward` now take atomic ranges into account.
### New features
Attach more granular user event strings to transactions.
The module exports a new binding `indentWithTab` that binds tab and shift-tab to `indentMore` and `indentLess`.
## 0.18.3 (2021-06-11)
### Bug fixes
`moveLineDown` will no longer incorrectly grow the selection.
Line-based commands will no longer include lines where a range selection ends right at the start of the line.
## 0.18.2 (2021-05-06)
### Bug fixes
Use Ctrl-l, not Alt-l, to bind `selectLine` on macOS, to avoid conflicting with special-character-insertion bindings.
Make the macOS Command-ArrowLeft/Right commands behave more like their native versions.
## 0.18.1 (2021-04-08)
### Bug fixes
Also bind Shift-Backspace and Shift-Delete in the default keymap (to do the same thing as the Shift-less binding).
### New features
Adds a `deleteToLineStart` command.
Adds bindings for Cmd-Delete and Cmd-Backspace on macOS.
## 0.18.0 (2021-03-03)
### Breaking changes
Update dependencies to 0.18.
## 0.17.5 (2021-02-25)
### Bug fixes
Use Alt-l for the default `selectLine` binding, because Mod-l already has an important meaning in the browser.
Make `deleteGroupBackward`/`deleteGroupForward` delete groups of whitespace when bigger than a single space.
Don't change lines that have the end of a range selection directly at their start in `indentLess`, `indentMore`, and `indentSelection`.
## 0.17.4 (2021-02-18)
### Bug fixes
Fix a bug where `deleteToLineEnd` would delete the rest of the document when at the end of a line.
## 0.17.3 (2021-02-16)
### Bug fixes
Fix an issue where `insertNewlineAndIndent` behaved strangely with the cursor between brackets that sat on different lines.
## 0.17.2 (2021-01-22)
### New features
The new `insertTab` command inserts a tab when nothing is selected, and defers to `indentMore` otherwise.
The package now exports a `defaultTabBinding` object that provides a recommended binding for tab (if you must bind tab).
## 0.17.1 (2021-01-06)
### New features
The package now also exports a CommonJS module.
## 0.17.0 (2020-12-29)
### Breaking changes
First numbered release.

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,18 +0,0 @@
# @codemirror/commands [![NPM version](https://img.shields.io/npm/v/@codemirror/commands.svg)](https://www.npmjs.org/package/@codemirror/commands)
[ [**WEBSITE**](https://codemirror.net/) | [**DOCS**](https://codemirror.net/docs/ref/#commands) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/commands/blob/main/CHANGELOG.md) ]
This package implements a collection of editing commands for the
[CodeMirror](https://codemirror.net/) code editor.
The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).
This code is released under an
[MIT license](https://github.com/codemirror/commands/tree/main/LICENSE).
We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.

View file

@ -1,42 +0,0 @@
{
"name": "@codemirror/commands",
"version": "6.6.0",
"description": "Collection of editing commands for the CodeMirror code editor",
"scripts": {
"test": "cm-runtests",
"prepare": "cm-buildhelper src/commands.ts"
},
"keywords": [
"editor",
"code"
],
"author": {
"name": "Marijn Haverbeke",
"email": "marijn@haverbeke.berlin",
"url": "http://marijnhaverbeke.nl"
},
"type": "module",
"main": "dist/index.cjs",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"types": "dist/index.d.ts",
"module": "dist/index.js",
"sideEffects": false,
"license": "MIT",
"dependencies": {
"@codemirror/language": "^6.0.0",
"@codemirror/state": "^6.4.0",
"@codemirror/view": "^6.27.0",
"@lezer/common": "^1.1.0"
},
"devDependencies": {
"@codemirror/buildhelper": "^1.0.0",
"@codemirror/lang-javascript": "^6.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/codemirror/commands.git"
}
}

View file

@ -1 +0,0 @@
../../../@codemirror+language@6.10.2/node_modules/@codemirror/language

View file

@ -1 +0,0 @@
../../../@codemirror+state@6.4.1/node_modules/@codemirror/state

View file

@ -1 +0,0 @@
../../../@codemirror+view@6.32.0/node_modules/@codemirror/view

View file

@ -1 +0,0 @@
../../../@lezer+common@1.2.1/node_modules/@lezer/common

View file

@ -1,16 +0,0 @@
name: Trigger CI
on: push
jobs:
build:
name: Dispatch to main repo
runs-on: ubuntu-latest
steps:
- name: Emit repository_dispatch
uses: mvasigh/dispatch-action@main
with:
# You should create a personal access token and store it in your repository
token: ${{ secrets.DISPATCH_AUTH }}
repo: dev
owner: codemirror
event_type: push

View file

@ -1,324 +0,0 @@
## 6.10.2 (2024-06-03)
### Bug fixes
Fix an infinite loop that could occur when enabling `bidiIsolates` in documents with both bidirectional text and very long lines.
## 6.10.1 (2024-02-02)
### Bug fixes
Fix an issue where, when a lot of code is visible in the initial editor, the bottom bit of code is shown without highlighting for one frame.
## 6.10.0 (2023-12-28)
### New features
The new `bidiIsolates` extension can be used to wrap syntactic elements where this is appropriate in an element that isolates their text direction, avoiding weird ordering of neutral characters on direction boundaries.
## 6.9.3 (2023-11-27)
### Bug fixes
Fix an issue in `StreamLanguage` where it ran out of node type ids if you repeatedly redefined a language with the same token table.
## 6.9.2 (2023-10-24)
### Bug fixes
Allow `StreamParser` tokens get multiple highlighting tags.
## 6.9.1 (2023-09-20)
### Bug fixes
Indentation now works a lot better in mixed-language documents that interleave the languages in a complex way.
Code folding is now able to pick the right foldable syntax node when the line end falls in a mixed-parsing language that doesn't match the target node.
## 6.9.0 (2023-08-16)
### Bug fixes
Make `getIndentation` return null, rather than 0, when there is no syntax tree available.
### New features
The new `preparePlaceholder` option to `codeFolding` makes it possible to display contextual information in a folded range placeholder widget.
## 6.8.0 (2023-06-12)
### New features
The new `baseIndentFor` method in `TreeIndentContext` can be used to find the base indentation for an arbitrary node.
## 6.7.0 (2023-05-19)
### New features
Export `DocInput` class for feeding editor documents to a Lezer parser.
## 6.6.0 (2023-02-13)
### New features
Syntax-driven language data queries now support sublanguages, which make it possible to return different data for specific parts of the tree produced by a single language.
## 6.5.0 (2023-02-07)
### Bug fixes
Make indentation for stream languages more reliable by having `StringStream.indentation` return overridden indentations from the indent context.
### New features
The `toggleFold` command folds or unfolds depending on whether there's an existing folded range on the current line.
`indentUnit` now accepts any (repeated) whitespace character, not just spaces and tabs.
## 6.4.0 (2023-01-12)
### New features
The `bracketMatchingHandle` node prop can now be used to limit bracket matching behavior for larger nodes to a single subnode (for example the tag name of an HTML tag).
## 6.3.2 (2022-12-16)
### Bug fixes
Fix a bug that caused `ensureSyntaxTree` to return incomplete trees when using a viewport-aware parser like `StreamLanguage`.
## 6.3.1 (2022-11-14)
### Bug fixes
Make syntax-based folding include syntax nodes that start right at the end of a line as potential fold targets.
Fix the `indentService` protocol to allow a distinction between declining to handle the indentation and returning null to indicate the line has no definite indentation.
## 6.3.0 (2022-10-24)
### New features
`HighlightStyle` objects now have a `specs` property holding the tag styles that were used to define them.
`Language` objects now have a `name` field holding the language name.
## 6.2.1 (2022-07-21)
### Bug fixes
Fix a bug where `bracketMatching` would incorrectly match nested brackets in syntax trees that put multiple pairs of brackets in the same parent node.
Fix a bug that could cause `indentRange` to loop infinitely.
## 6.2.0 (2022-06-30)
### Bug fixes
Fix a bug that prevented bracket matching to recognize plain brackets inside a language parsed as an overlay.
### New features
The `indentRange` function provides an easy way to programatically auto-indent a range of the document.
## 6.1.0 (2022-06-20)
### New features
The `foldState` field is now public, and can be used to serialize and deserialize the fold state.
## 6.0.0 (2022-06-08)
### New features
The `foldingChanged` option to `foldGutter` can now be used to trigger a recomputation of the fold markers.
## 0.20.2 (2022-05-20)
### Bug fixes
List style-mod as a dependency.
## 0.20.1 (2022-05-18)
### Bug fixes
Make sure `all` styles in the CSS generated for a `HighlightStyle` have a lower precedence than the other rules defined for the style. Use a shorthand property
## 0.20.0 (2022-04-20)
### Breaking changes
`HighlightStyle.get` is now called `highlightingFor`.
`HighlightStyles` no longer function as extensions (to improve tree shaking), and must be wrapped with `syntaxHighlighting` to add to an editor configuration.
`Language` objects no longer have a `topNode` property.
### New features
`HighlightStyle` and `defaultHighlightStyle` from the now-removed @codemirror/highlight package now live in this package.
The new `forceParsing` function can be used to run the parser forward on an editor view.
The exports that used to live in @codemirror/matchbrackets are now exported from this package.
The @codemirror/fold package has been merged into this one.
The exports from the old @codemirror/stream-parser package now live in this package.
## 0.19.10 (2022-03-31)
### Bug fixes
Autocompletion may now also trigger automatic indentation on input.
## 0.19.9 (2022-03-30)
### Bug fixes
Make sure nodes that end at the end of a partial parse aren't treated as valid fold targets.
Fix an issue where the parser sometimes wouldn't reuse parsing work done in the background on transactions.
## 0.19.8 (2022-03-03)
### Bug fixes
Fix an issue that could cause indentation logic to use the wrong line content when indenting multiple lines at once.
## 0.19.7 (2021-12-02)
### Bug fixes
Fix an issue where the parse worker could incorrectly stop working when the parse tree has skipped gaps in it.
## 0.19.6 (2021-11-26)
### Bug fixes
Fixes an issue where the background parse work would be scheduled too aggressively, degrading responsiveness on a newly-created editor with a large document.
Improve initial highlight for mixed-language editors and limit the amount of parsing done on state creation for faster startup.
## 0.19.5 (2021-11-17)
### New features
The new function `syntaxTreeAvailable` can be used to check if a fully-parsed syntax tree is available up to a given document position.
The module now exports `syntaxParserRunning`, which tells you whether the background parser is still planning to do more work for a given editor view.
## 0.19.4 (2021-11-13)
### New features
`LanguageDescription.of` now takes an optional already-loaded extension.
## 0.19.3 (2021-09-13)
### Bug fixes
Fix an issue where a parse that skipped content with `skipUntilInView` would in some cases not be restarted when the range came into view.
## 0.19.2 (2021-08-11)
### Bug fixes
Fix a bug that caused `indentOnInput` to fire for the wrong kinds of transactions.
Fix a bug that could cause `indentOnInput` to apply its changes incorrectly.
## 0.19.1 (2021-08-11)
### Bug fixes
Fix incorrect versions for @lezer dependencies.
## 0.19.0 (2021-08-11)
### Breaking changes
CodeMirror now uses lezer 0.15, which means different package names (scoped with @lezer) and some breaking changes in the library.
`EditorParseContext` is now called `ParseContext`. It is no longer passed to parsers, but must be retrieved with `ParseContext.get`.
`IndentContext.lineIndent` now takes a position, not a `Line` object, as argument.
`LezerLanguage` was renamed to `LRLanguage` (because all languages must emit Lezer-style trees, the name was misleading).
`Language.parseString` no longer exists. You can just call `.parser.parse(...)` instead.
### New features
New `IndentContext.lineAt` method to access lines in a way that is aware of simulated line breaks.
`IndentContext` now provides a `simulatedBreak` property through which client code can query whether the context has a simulated line break.
## 0.18.2 (2021-06-01)
### Bug fixes
Fix an issue where asynchronous re-parsing (with dynamically loaded languages) sometimes failed to fully happen.
## 0.18.1 (2021-03-31)
### Breaking changes
`EditorParseContext.getSkippingParser` now replaces `EditorParseContext.skippingParser` and allows you to provide a promise that'll cause parsing to start again. (The old property remains available until the next major release.)
### Bug fixes
Fix an issue where nested parsers could see past the end of the nested region.
## 0.18.0 (2021-03-03)
### Breaking changes
Update dependencies to 0.18.
### Breaking changes
The `Language` constructor takes an additional argument that provides the top node type.
### New features
`Language` instances now have a `topNode` property giving their top node type.
`TreeIndentContext` now has a `continue` method that allows an indenter to defer to the indentation of the parent nodes.
## 0.17.5 (2021-02-19)
### New features
This package now exports a `foldInside` helper function, a fold function that should work for most delimited node types.
## 0.17.4 (2021-01-15)
## 0.17.3 (2021-01-15)
### Bug fixes
Parse scheduling has been improved to reduce the likelyhood of the user looking at unparsed code in big documents.
Prevent parser from running too far past the current viewport in huge documents.
## 0.17.2 (2021-01-06)
### New features
The package now also exports a CommonJS module.
## 0.17.1 (2020-12-30)
### Bug fixes
Fix a bug where changing the editor configuration wouldn't update the language parser used.
## 0.17.0 (2020-12-29)
### Breaking changes
First numbered release.

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,18 +0,0 @@
# @codemirror/language [![NPM version](https://img.shields.io/npm/v/@codemirror/language.svg)](https://www.npmjs.org/package/@codemirror/language)
[ [**WEBSITE**](https://codemirror.net/) | [**DOCS**](https://codemirror.net/docs/ref/#language) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/language/blob/main/CHANGELOG.md) ]
This package implements the language support infrastructure for the
[CodeMirror](https://codemirror.net/) code editor.
The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).
This code is released under an
[MIT license](https://github.com/codemirror/language/tree/main/LICENSE).
We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.

View file

@ -1,44 +0,0 @@
{
"name": "@codemirror/language",
"version": "6.10.2",
"description": "Language support infrastructure for the CodeMirror code editor",
"scripts": {
"test": "cm-runtests",
"prepare": "cm-buildhelper src/index.ts"
},
"keywords": [
"editor",
"code"
],
"author": {
"name": "Marijn Haverbeke",
"email": "marijn@haverbeke.berlin",
"url": "http://marijnhaverbeke.nl"
},
"type": "module",
"main": "dist/index.cjs",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"types": "dist/index.d.ts",
"module": "dist/index.js",
"sideEffects": false,
"license": "MIT",
"dependencies": {
"@codemirror/state": "^6.0.0",
"@codemirror/view": "^6.23.0",
"@lezer/common": "^1.1.0",
"@lezer/highlight": "^1.0.0",
"@lezer/lr": "^1.0.0",
"style-mod": "^4.0.0"
},
"devDependencies": {
"@codemirror/buildhelper": "^1.0.0",
"@lezer/javascript": "^1.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/codemirror/language.git"
}
}

View file

@ -1 +0,0 @@
../../../@codemirror+state@6.4.1/node_modules/@codemirror/state

View file

@ -1 +0,0 @@
../../../@codemirror+view@6.32.0/node_modules/@codemirror/view

View file

@ -1 +0,0 @@
../../../@lezer+common@1.2.1/node_modules/@lezer/common

View file

@ -1 +0,0 @@
../../../@lezer+highlight@1.2.1/node_modules/@lezer/highlight

View file

@ -1 +0,0 @@
../../../@lezer+lr@1.4.2/node_modules/@lezer/lr

View file

@ -1 +0,0 @@
../../style-mod@4.1.2/node_modules/style-mod

View file

@ -1,16 +0,0 @@
name: Trigger CI
on: push
jobs:
build:
name: Dispatch to main repo
runs-on: ubuntu-latest
steps:
- name: Emit repository_dispatch
uses: mvasigh/dispatch-action@main
with:
# You should create a personal access token and store it in your repository
token: ${{ secrets.DISPATCH_AUTH }}
repo: dev
owner: codemirror
event_type: push

View file

@ -1,268 +0,0 @@
## 6.4.1 (2024-02-19)
### Bug fixes
Fix an issue that caused widgets at the end of a mark decoration to be rendered in their own separate mark DOM element.
## 6.4.0 (2023-12-28)
### Bug fixes
When multiple ranges in a single range set overlap, put the smaller ones inside the bigger ones, so that overlapping decorations don't break up each other's elements when coming from the same source.
### New features
Selection and selection range `eq` methods now support an optional argument that makes them also compare by cursor associativity.
The `RangeSet.join` function can be used to join multiple range sets together.
## 6.3.3 (2023-12-06)
### Bug fixes
Fix an issue where `Text.slice` and `Text.replace` could return objects with incorrect `length` when the given `from`/`to` values were out of range for the text.
## 6.3.2 (2023-11-27)
### Bug fixes
Make sure transactions cannot add multiple selections when `allowMultipleSelections` is false.
Fix a bug that caused `Text.iterLines` to not return empty lines at the end of the iterated ranges.
## 6.3.1 (2023-10-18)
### Bug fixes
Give the tag property on `FacetReader` the type of the output type parameter to force TypeScript to infer the proper type when converting from `Facet` to `FacetReader`.
## 6.3.0 (2023-10-12)
### New features
The new `FacetReader` type provides a way to export a read-only handle to a `Facet`.
## 6.2.1 (2023-05-23)
### Bug fixes
Fix an issue that could cause `RangeSet.compare` to miss changes in the set of active ranges around a point range.
## 6.2.0 (2022-12-26)
### New features
`EditorSelection.range` now accepts an optional 4th argument to specify the bidi level of the range's head position.
## 6.1.4 (2022-11-15)
### Bug fixes
Fix a bug that caused the `openStart` value passed to span iterators to be incorrect around widgets in some circumstances.
## 6.1.3 (2022-11-10)
### Bug fixes
Avoid unnecessary calls to computed facet getters when a state is reconfigured but no dependencies of the computed facet change.
Fix an infinite loop in `RangeSet.eq` when the `to` parameter isn't given.
## 6.1.2 (2022-09-21)
### Bug fixes
Fix an issue where, when multiple transaction extenders took effect, only the highest-precedence one was actually included in the transaction.
## 6.1.1 (2022-08-03)
### Bug fixes
Fix a bug in range set span iteration that would cause decorations to be inappropriately split in some situations.
## 6.1.0 (2022-06-30)
### Bug fixes
Refine change mapping to preserve insertions made by concurrent changes.
### New features
The `enables` option to `Facet.define` may now take a function, which will be called with the facet value to create the extensions.
## 6.0.1 (2022-06-17)
### Bug fixes
Fix a problem that caused effects' `map` methods to be called with an incorrect change set when filtering changes.
## 6.0.0 (2022-06-08)
### Breaking changes
Update dependencies to 6.0.0
## 0.20.1 (2022-06-02)
### New features
`EditorView.phrase` now accepts additional arguments, which it will interpolate into the phrase in the place of `$` markers.
## 0.20.0 (2022-04-20)
### Breaking changes
The deprecated precedence names `fallback`, `extend`, and `override` were removed from the library.
### Bug fixes
Fix a bug where, if an extension value occurs multiple times, its lowest, rather than highest precedence is used.
Fix an issue where facets with computed inputs would unneccesarily have their outputs recreated on state reconfiguration.
Fix a bug in the order in which new values for state fields and facets were computed, which could cause dynamic facets to hold the wrong value in some situations.
### New features
The exports from @codemirror/rangeset now live in this package.
The exports from @codemirror/text now live in this package.
## 0.19.9 (2022-02-16)
### Bug fixes
Mapping a non-empty selection range now always puts any newly inserted text on the sides of the range outside of the mapped version.
## 0.19.8 (2022-02-15)
### Bug fixes
Fix a bug where facet values with computed inputs could incorrectly retain their old value on reconfiguration.
## 0.19.7 (2022-02-11)
### Bug fixes
Avoid recomputing facets on state reconfiguration if that facet's inputs stayed precisely the same.
Selection ranges created with `EditorSelection.range` will now have an assoc pointing at their anchor, when non-empty.
## 0.19.6 (2021-11-19)
### Bug fixes
Fix a bug that caused facet compare functions to be called with an invalid value in some situations.
Fix a bug that caused dynamic facet values to be incorrectly kept unchanged when reconfiguration changed one of their dependencies.
## 0.19.5 (2021-11-10)
### Bug fixes
Fix a bug that would cause dynamic facet values influenced by a state reconfiguration to not properly recompute.
## 0.19.4 (2021-11-05)
### Bug fixes
When reconfiguring a state, effects from the reconfiguring transaction can now be seen by newly added state fields.
## 0.19.3 (2021-11-03)
### New features
The precedence levels (under `Prec`) now have more generic names, because their 'meaningful' names were entirely inappropriate in many situations.
## 0.19.2 (2021-09-13)
### New features
The editor state now has a `readOnly` property with a matching facet to control its value.
## 0.19.1 (2021-08-15)
### Bug fixes
Fix a bug where `wordAt` never returned a useful result.
## 0.19.0 (2021-08-11)
### Breaking changes
User event strings now work differently—the events emitted by the core packages follow a different system, and hierarchical event tags can be created by separating the words with dots.
### New features
`languageDataAt` now takes an optional `side` argument to specificy which side of the position you're interested in.
It is now possible to add a user event annotation with a direct `userEvent` property on a transaction spec.
Transactions now have an `isUserEvent` method that can be used to check if it is (a subtype of) some user event type.
## 0.18.7 (2021-05-04)
### Bug fixes
Fix an issue where state fields might be initialized with a state that they aren't actually part of during reconfiguration.
## 0.18.6 (2021-04-12)
### New features
The new `EditorState.wordAt` method finds the word at a given position.
## 0.18.5 (2021-04-08)
### Bug fixes
Fix an issue in the compiled output that would break the code when minified with terser.
## 0.18.4 (2021-04-06)
### New features
The new `Transaction.remote` annotation can be used to mark and recognize transactions created by other actors.
## 0.18.3 (2021-03-23)
### New features
The `ChangeDesc` class now has `toJSON` and `fromJSON` methods.
## 0.18.2 (2021-03-14)
### Bug fixes
Fix unintended ES2020 output (the package contains ES6 code again).
## 0.18.1 (2021-03-10)
### New features
The new `Compartment.get` method can be used to get the content of a compartment in a given state.
## 0.18.0 (2021-03-03)
### Breaking changes
`tagExtension` and the `reconfigure` transaction spec property have been replaced with the concept of configuration compartments and reconfiguration effects (see `Compartment`, `StateEffect.reconfigure`, and `StateEffect.appendConfig`).
## 0.17.2 (2021-02-19)
### New features
`EditorSelection.map` and `SelectionRange.map` now take an optional second argument to indicate which direction to map to.
## 0.17.1 (2021-01-06)
### New features
The package now also exports a CommonJS module.
## 0.17.0 (2020-12-29)
### Breaking changes
First numbered release.

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,18 +0,0 @@
# @codemirror/state [![NPM version](https://img.shields.io/npm/v/@codemirror/state.svg)](https://www.npmjs.org/package/@codemirror/state)
[ [**WEBSITE**](https://codemirror.net/) | [**DOCS**](https://codemirror.net/docs/ref/#state) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/state/blob/main/CHANGELOG.md) ]
This package implements the editor state data structures for the
[CodeMirror](https://codemirror.net/) code editor.
The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).
This code is released under an
[MIT license](https://github.com/codemirror/state/tree/main/LICENSE).
We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.

View file

@ -1,35 +0,0 @@
{
"name": "@codemirror/state",
"version": "6.4.1",
"description": "Editor state data structures for the CodeMirror code editor",
"scripts": {
"test": "cm-runtests",
"prepare": "cm-buildhelper src/index.ts"
},
"keywords": [
"editor",
"code"
],
"author": {
"name": "Marijn Haverbeke",
"email": "marijn@haverbeke.berlin",
"url": "http://marijnhaverbeke.nl"
},
"type": "module",
"main": "dist/index.cjs",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"types": "dist/index.d.ts",
"module": "dist/index.js",
"sideEffects": false,
"license": "MIT",
"devDependencies": {
"@codemirror/buildhelper": "^1.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/codemirror/state.git"
}
}

View file

@ -1 +0,0 @@
../../../@codemirror+state@6.4.1/node_modules/@codemirror/state

View file

@ -1,16 +0,0 @@
name: Trigger CI
on: push
jobs:
build:
name: Dispatch to main repo
runs-on: ubuntu-latest
steps:
- name: Emit repository_dispatch
uses: mvasigh/dispatch-action@main
with:
# You should create a personal access token and store it in your repository
token: ${{ secrets.DISPATCH_AUTH }}
repo: dev
owner: codemirror
event_type: push

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018-2021 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,18 +0,0 @@
# @codemirror/view [![NPM version](https://img.shields.io/npm/v/@codemirror/view.svg)](https://www.npmjs.org/package/@codemirror/view)
[ [**WEBSITE**](https://codemirror.net/) | [**DOCS**](https://codemirror.net/docs/ref/#view) | [**ISSUES**](https://github.com/codemirror/dev/issues) | [**FORUM**](https://discuss.codemirror.net/c/next/) | [**CHANGELOG**](https://github.com/codemirror/view/blob/main/CHANGELOG.md) ]
This package implements the DOM view component for the
[CodeMirror](https://codemirror.net/) code editor.
The [project page](https://codemirror.net/) has more information, a
number of [examples](https://codemirror.net/examples/) and the
[documentation](https://codemirror.net/docs/).
This code is released under an
[MIT license](https://github.com/codemirror/view/tree/main/LICENSE).
We aim to be an inclusive, welcoming community. To make that explicit,
we have a [code of
conduct](http://contributor-covenant.org/version/1/1/0/) that applies
to communication around the project.

View file

@ -1,40 +0,0 @@
{
"name": "@codemirror/view",
"version": "6.32.0",
"description": "DOM view component for the CodeMirror code editor",
"scripts": {
"test": "cm-runtests",
"prepare": "cm-buildhelper src/index.ts"
},
"keywords": [
"editor",
"code"
],
"author": {
"name": "Marijn Haverbeke",
"email": "marijn@haverbeke.berlin",
"url": "http://marijnhaverbeke.nl"
},
"type": "module",
"main": "dist/index.cjs",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"types": "dist/index.d.ts",
"module": "dist/index.js",
"sideEffects": false,
"license": "MIT",
"dependencies": {
"@codemirror/state": "^6.4.0",
"style-mod": "^4.1.0",
"w3c-keyname": "^2.2.4"
},
"devDependencies": {
"@codemirror/buildhelper": "^1.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/codemirror/view.git"
}
}

View file

@ -1 +0,0 @@
../../style-mod@4.1.2/node_modules/style-mod

View file

@ -1 +0,0 @@
../../w3c-keyname@2.2.8/node_modules/w3c-keyname

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,14 +0,0 @@
# @lezer/common
[ [**WEBSITE**](http://lezer.codemirror.net) | [**ISSUES**](https://github.com/lezer-parser/lezer/issues) | [**FORUM**](https://discuss.codemirror.net/c/lezer) | [**CHANGELOG**](https://github.com/lezer-parser/common/blob/master/CHANGELOG.md) ]
[Lezer](https://lezer.codemirror.net/) is an incremental parser system
intended for use in an editor or similar system.
@lezer/common provides the syntax tree data structure and parser
abstractions for Lezer parsers.
Its programming interface is documented on [the
website](https://lezer.codemirror.net/docs/ref/#common).
This code is licensed under an MIT license.

View file

@ -1,31 +0,0 @@
{
"name": "@lezer/common",
"version": "1.2.1",
"description": "Syntax tree data structure and parser interfaces for the lezer parser",
"main": "dist/index.cjs",
"type": "module",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"module": "dist/index.js",
"types": "dist/index.d.ts",
"author": "Marijn Haverbeke <marijn@haverbeke.berlin>",
"license": "MIT",
"devDependencies": {
"ist": "^1.1.1",
"@marijn/buildtool": "^0.1.5",
"@types/mocha": "^5.2.6",
"mocha": "^10.2.0"
},
"files": ["dist"],
"repository": {
"type" : "git",
"url" : "https://github.com/lezer-parser/common.git"
},
"scripts": {
"watch": "node build.js --watch",
"prepare": "node build.js",
"test": "mocha"
}
}

View file

@ -1 +0,0 @@
../../../@lezer+common@1.2.1/node_modules/@lezer/common

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,14 +0,0 @@
# @lezer/highlight
[ [**WEBSITE**](http://lezer.codemirror.net) | [**ISSUES**](https://github.com/lezer-parser/lezer/issues) | [**FORUM**](https://discuss.codemirror.net/c/lezer) | [**CHANGELOG**](https://github.com/lezer-parser/highlight/blob/master/CHANGELOG.md) ]
[Lezer](https://lezer.codemirror.net/) is an incremental parser system
intended for use in an editor or similar system.
@lezer/highlight provides a syntax highlighting framework for Lezer
parse trees.
Its programming interface is documented on [the
website](https://lezer.codemirror.net/docs/ref/#highlight).
This code is licensed under an MIT license.

View file

@ -1,31 +0,0 @@
{
"name": "@lezer/highlight",
"version": "1.2.1",
"description": "Highlighting system for Lezer parse trees",
"main": "dist/index.cjs",
"type": "module",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"module": "dist/index.js",
"types": "dist/index.d.ts",
"author": "Marijn Haverbeke <marijn@haverbeke.berlin>",
"license": "MIT",
"devDependencies": {
"@marijn/buildtool": "0.1.3",
"typescript": "^5.0.0"
},
"dependencies": {
"@lezer/common": "^1.0.0"
},
"files": ["dist"],
"repository": {
"type" : "git",
"url" : "https://github.com/lezer-parser/highlight.git"
},
"scripts": {
"watch": "node build.js --watch",
"prepare": "node build.js"
}
}

View file

@ -1 +0,0 @@
../../../@lezer+common@1.2.1/node_modules/@lezer/common

View file

@ -1,21 +0,0 @@
MIT License
Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,25 +0,0 @@
# @lezer/lr
[ [**WEBSITE**](http://lezer.codemirror.net) | [**ISSUES**](https://github.com/lezer-parser/lezer/issues) | [**FORUM**](https://discuss.codemirror.net/c/lezer) | [**CHANGELOG**](https://github.com/lezer-parser/lr/blob/master/CHANGELOG.md) ]
Lezer ("reader" in Dutch, pronounced pretty much as laser) is an
incremental GLR parser intended for use in an editor or similar
system, which needs to keep a representation of the program current
during changes and in the face of syntax errors.
It prioritizes speed and compactness (both of parser table files and
of syntax tree) over having a highly usable parse tree—trees nodes are
just blobs with a start, end, tag, and set of child nodes, with no
further labeling of child nodes or extra metadata.
This package contains the run-time LR parser library. It consumes
parsers generated by
[@lezer/generator](https://github.com/lezer-parser/generator).
The parser programming interface is documented on [the
website](https://lezer.codemirror.net/docs/ref/#lr).
The code is licensed under an MIT license.
This project was hugely inspired by
[tree-sitter](http://tree-sitter.github.io/tree-sitter/).

View file

@ -1,32 +0,0 @@
{
"name": "@lezer/lr",
"version": "1.4.2",
"description": "Incremental parser",
"main": "dist/index.cjs",
"type": "module",
"exports": {
"import": "./dist/index.js",
"require": "./dist/index.cjs"
},
"module": "dist/index.js",
"types": "dist/index.d.ts",
"author": "Marijn Haverbeke <marijn@haverbeke.berlin>",
"license": "MIT",
"repository": {
"type" : "git",
"url" : "https://github.com/lezer-parser/lr.git"
},
"devDependencies": {
"@marijn/buildtool": "^0.1.5",
"@types/node": "^20.6.2"
},
"dependencies": {
"@lezer/common": "^1.0.0"
},
"files": ["dist"],
"scripts": {
"test": "echo 'Tests are in @lezer/generator'",
"watch": "node build.js --watch",
"prepare": "node build.js; tsc src/constants.ts -d --outDir dist"
}
}

88
node_modules/.pnpm/lock.yaml generated vendored
View file

@ -1,88 +0,0 @@
lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
.:
dependencies:
'@codemirror/commands':
specifier: ^6.6.0
version: 6.6.0
'@codemirror/state':
specifier: ^6.4.1
version: 6.4.1
'@codemirror/view':
specifier: ^6.32.0
version: 6.32.0
packages:
'@codemirror/commands@6.6.0':
resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==}
'@codemirror/language@6.10.2':
resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==}
'@codemirror/state@6.4.1':
resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==}
'@codemirror/view@6.32.0':
resolution: {integrity: sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==}
'@lezer/common@1.2.1':
resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==}
'@lezer/highlight@1.2.1':
resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==}
'@lezer/lr@1.4.2':
resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==}
style-mod@4.1.2:
resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==}
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
snapshots:
'@codemirror/commands@6.6.0':
dependencies:
'@codemirror/language': 6.10.2
'@codemirror/state': 6.4.1
'@codemirror/view': 6.32.0
'@lezer/common': 1.2.1
'@codemirror/language@6.10.2':
dependencies:
'@codemirror/state': 6.4.1
'@codemirror/view': 6.32.0
'@lezer/common': 1.2.1
'@lezer/highlight': 1.2.1
'@lezer/lr': 1.4.2
style-mod: 4.1.2
'@codemirror/state@6.4.1': {}
'@codemirror/view@6.32.0':
dependencies:
'@codemirror/state': 6.4.1
style-mod: 4.1.2
w3c-keyname: 2.2.8
'@lezer/common@1.2.1': {}
'@lezer/highlight@1.2.1':
dependencies:
'@lezer/common': 1.2.1
'@lezer/lr@1.4.2':
dependencies:
'@lezer/common': 1.2.1
style-mod@4.1.2: {}
w3c-keyname@2.2.8: {}

View file

@ -1 +0,0 @@
../../@codemirror+language@6.10.2/node_modules/@codemirror/language

View file

@ -1 +0,0 @@
../../@lezer+common@1.2.1/node_modules/@lezer/common

View file

@ -1 +0,0 @@
../../@lezer+highlight@1.2.1/node_modules/@lezer/highlight

View file

@ -1 +0,0 @@
../../@lezer+lr@1.4.2/node_modules/@lezer/lr

View file

@ -1 +0,0 @@
../style-mod@4.1.2/node_modules/style-mod

View file

@ -1 +0,0 @@
../w3c-keyname@2.2.8/node_modules/w3c-keyname

View file

@ -1,19 +0,0 @@
Copyright (C) 2018 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,98 +0,0 @@
<!-- To edit this file, edit /src/README.md, not /README.md -->
# style-mod
Minimal CSS module shim for generating CSS rules for sets of style
-declarations and attaching such a set to a document or shadow root.
Using it would look something like this:
```javascript
const {StyleModule} = require("style-mod")
const myModule = new StyleModule({
"#main": {
fontFamily: "Georgia, 'Nimbus Roman No9 L'",
margin: "0"
},
".callout": {
color: "red",
fontWeight: "bold",
"&:hover": {color: "orange"}
}
})
StyleModule.mount(document, myModule)
```
This code is open source, released under an MIT license.
## Documentation
### class StyleModule
Style modules encapsulate a set of CSS rules defined from
JavaScript. Their definitions are only available in a given DOM
root after it has been _mounted_ there with `StyleModule.mount`.
Style modules should be created once and stored somewhere, as
opposed to re-creating them every time you need them. The amount of
CSS rules generated for a given DOM root is bounded by the amount
of style modules that were used. So to avoid leaking rules, don't
create these dynamically, but treat them as one-time allocations.
* `new `**`StyleModule`**`(spec: Object< Style >, options: ?{finish: ?fn(string) → string})`\
Create a style module from the given spec.
When `finish` is given, it is called on regular (non-`@`)
selectors (after `&` expansion) to compute the final selector.
* **`getRules`**`() → string`\
Returns a string containing the module's CSS rules.
* `static `**`newName`**`() → string`\
Generate a new unique CSS class name.
* `static `**`mount`**`(root: Document | ShadowRoot, modules: [StyleModule] | StyleModule, options: ?{nonce: ?string})`\
Mount the given set of modules in the given DOM root, which ensures
that the CSS rules defined by the module are available in that
context.
Rules are only added to the document once per root.
Rule order will follow the order of the modules, so that rules from
modules later in the array take precedence of those from earlier
modules. If you call this function multiple times for the same root
in a way that changes the order of already mounted modules, the old
order will be changed.
If a Content Security Policy nonce is provided, it is added to
the `<style>` tag generated by the library.
Where the `Style` type is defined as:
* **`Style`**`: Object< Style | string >`\
A style is an object that, in the simple case, maps CSS property
names to strings holding their values, as in `{color: "red",
fontWeight: "bold"}`. The property names can be given in
camel-case—the library will insert a dash before capital letters
when converting them to CSS.
If you include an underscore in a property name, it and everything
after it will be removed from the output, which can be useful when
providing a property multiple times, for browser compatibility
reasons.
A property in a style object can also be a sub-selector, which
extends the current context to add a pseudo-selector or a child
selector. Such a property should contain a `&` character, which
will be replaced by the current selector. For example `{"&:before":
{content: '"hi"'}}`. Sub-selectors and regular properties can
freely be mixed in a given object. Any property containing a `&` is
assumed to be a sub-selector.
Finally, a property can specify an @-block to be wrapped around the
styles defined inside the object that's the property's value. For
example to create a media query you can do `{"@media screen and
(min-width: 400px)": {...}}`.

View file

@ -1,39 +0,0 @@
{
"name": "style-mod",
"version": "4.1.2",
"description": "A minimal CSS module shim",
"main": "dist/style-mod.cjs",
"type": "module",
"exports": {
"import": "./src/style-mod.js",
"require": "./dist/style-mod.cjs"
},
"module": "src/style-mod.js",
"types": "src/style-mod.d.ts",
"directories": {
"test": "test"
},
"scripts": {
"test": "npm run build && mocha test/test-*.js",
"build": "mkdir -p dist; buble --no modules src/style-mod.js | sed -e 's/export var StyleModule/var StyleModule = exports.StyleModule/' > dist/style-mod.cjs",
"prepare": "npm run build && npm run build-readme",
"build-readme": "builddocs --name style-mod --main src/README.md --format markdown src/*.js > README.md"
},
"keywords": [
"css",
"module",
"styling"
],
"repository": {
"type": "git",
"url": "git+https://github.com/marijnh/style-mod.git"
},
"author": "Marijn Haverbeke <marijn@haverbeke.berlin>",
"license": "MIT",
"devDependencies": {
"buble": "^0.20.0",
"builddocs": "^0.3.2",
"ist": "^1.1.1",
"mocha": "^7.2.0"
}
}

View file

@ -1,34 +0,0 @@
<!-- To edit this file, edit /src/README.md, not /README.md -->
# style-mod
Minimal CSS module shim for generating CSS rules for sets of style
-declarations and attaching such a set to a document or shadow root.
Using it would look something like this:
```javascript
const {StyleModule} = require("style-mod")
const myModule = new StyleModule({
"#main": {
fontFamily: "Georgia, 'Nimbus Roman No9 L'",
margin: "0"
},
".callout": {
color: "red",
fontWeight: "bold",
"&:hover": {color: "orange"}
}
})
StyleModule.mount(document, myModule)
```
This code is open source, released under an MIT license.
## Documentation
@StyleModule
Where the `Style` type is defined as:
@Style

View file

@ -1,16 +0,0 @@
export class StyleModule {
constructor(spec: {[selector: string]: StyleSpec}, options?: {
finish?(sel: string): string
})
getRules(): string
static mount(
root: Document | ShadowRoot | DocumentOrShadowRoot,
module: StyleModule | ReadonlyArray<StyleModule>,
options?: {nonce?: string}
): void
static newName(): string
}
export type StyleSpec = {
[propOrSelector: string]: string | number | StyleSpec | null
}

View file

@ -1,172 +0,0 @@
const C = "\u037c"
const COUNT = typeof Symbol == "undefined" ? "__" + C : Symbol.for(C)
const SET = typeof Symbol == "undefined" ? "__styleSet" + Math.floor(Math.random() * 1e8) : Symbol("styleSet")
const top = typeof globalThis != "undefined" ? globalThis : typeof window != "undefined" ? window : {}
// :: - Style modules encapsulate a set of CSS rules defined from
// JavaScript. Their definitions are only available in a given DOM
// root after it has been _mounted_ there with `StyleModule.mount`.
//
// Style modules should be created once and stored somewhere, as
// opposed to re-creating them every time you need them. The amount of
// CSS rules generated for a given DOM root is bounded by the amount
// of style modules that were used. So to avoid leaking rules, don't
// create these dynamically, but treat them as one-time allocations.
export class StyleModule {
// :: (Object<Style>, ?{finish: ?(string) → string})
// Create a style module from the given spec.
//
// When `finish` is given, it is called on regular (non-`@`)
// selectors (after `&` expansion) to compute the final selector.
constructor(spec, options) {
this.rules = []
let {finish} = options || {}
function splitSelector(selector) {
return /^@/.test(selector) ? [selector] : selector.split(/,\s*/)
}
function render(selectors, spec, target, isKeyframes) {
let local = [], isAt = /^@(\w+)\b/.exec(selectors[0]), keyframes = isAt && isAt[1] == "keyframes"
if (isAt && spec == null) return target.push(selectors[0] + ";")
for (let prop in spec) {
let value = spec[prop]
if (/&/.test(prop)) {
render(prop.split(/,\s*/).map(part => selectors.map(sel => part.replace(/&/, sel))).reduce((a, b) => a.concat(b)),
value, target)
} else if (value && typeof value == "object") {
if (!isAt) throw new RangeError("The value of a property (" + prop + ") should be a primitive value.")
render(splitSelector(prop), value, local, keyframes)
} else if (value != null) {
local.push(prop.replace(/_.*/, "").replace(/[A-Z]/g, l => "-" + l.toLowerCase()) + ": " + value + ";")
}
}
if (local.length || keyframes) {
target.push((finish && !isAt && !isKeyframes ? selectors.map(finish) : selectors).join(", ") +
" {" + local.join(" ") + "}")
}
}
for (let prop in spec) render(splitSelector(prop), spec[prop], this.rules)
}
// :: () → string
// Returns a string containing the module's CSS rules.
getRules() { return this.rules.join("\n") }
// :: () → string
// Generate a new unique CSS class name.
static newName() {
let id = top[COUNT] || 1
top[COUNT] = id + 1
return C + id.toString(36)
}
// :: (union<Document, ShadowRoot>, union<[StyleModule], StyleModule>, ?{nonce: ?string})
//
// Mount the given set of modules in the given DOM root, which ensures
// that the CSS rules defined by the module are available in that
// context.
//
// Rules are only added to the document once per root.
//
// Rule order will follow the order of the modules, so that rules from
// modules later in the array take precedence of those from earlier
// modules. If you call this function multiple times for the same root
// in a way that changes the order of already mounted modules, the old
// order will be changed.
//
// If a Content Security Policy nonce is provided, it is added to
// the `<style>` tag generated by the library.
static mount(root, modules, options) {
let set = root[SET], nonce = options && options.nonce
if (!set) set = new StyleSet(root, nonce)
else if (nonce) set.setNonce(nonce)
set.mount(Array.isArray(modules) ? modules : [modules], root)
}
}
let adoptedSet = new Map //<Document, StyleSet>
class StyleSet {
constructor(root, nonce) {
let doc = root.ownerDocument || root, win = doc.defaultView
if (!root.head && root.adoptedStyleSheets && win.CSSStyleSheet) {
let adopted = adoptedSet.get(doc)
if (adopted) return root[SET] = adopted
this.sheet = new win.CSSStyleSheet
adoptedSet.set(doc, this)
} else {
this.styleTag = doc.createElement("style")
if (nonce) this.styleTag.setAttribute("nonce", nonce)
}
this.modules = []
root[SET] = this
}
mount(modules, root) {
let sheet = this.sheet
let pos = 0 /* Current rule offset */, j = 0 /* Index into this.modules */
for (let i = 0; i < modules.length; i++) {
let mod = modules[i], index = this.modules.indexOf(mod)
if (index < j && index > -1) { // Ordering conflict
this.modules.splice(index, 1)
j--
index = -1
}
if (index == -1) {
this.modules.splice(j++, 0, mod)
if (sheet) for (let k = 0; k < mod.rules.length; k++)
sheet.insertRule(mod.rules[k], pos++)
} else {
while (j < index) pos += this.modules[j++].rules.length
pos += mod.rules.length
j++
}
}
if (sheet) {
if (root.adoptedStyleSheets.indexOf(this.sheet) < 0)
root.adoptedStyleSheets = [this.sheet, ...root.adoptedStyleSheets]
} else {
let text = ""
for (let i = 0; i < this.modules.length; i++)
text += this.modules[i].getRules() + "\n"
this.styleTag.textContent = text
let target = root.head || root
if (this.styleTag.parentNode != target)
target.insertBefore(this.styleTag, target.firstChild)
}
}
setNonce(nonce) {
if (this.styleTag && this.styleTag.getAttribute("nonce") != nonce)
this.styleTag.setAttribute("nonce", nonce)
}
}
// Style::Object<union<Style,string>>
//
// A style is an object that, in the simple case, maps CSS property
// names to strings holding their values, as in `{color: "red",
// fontWeight: "bold"}`. The property names can be given in
// camel-case—the library will insert a dash before capital letters
// when converting them to CSS.
//
// If you include an underscore in a property name, it and everything
// after it will be removed from the output, which can be useful when
// providing a property multiple times, for browser compatibility
// reasons.
//
// A property in a style object can also be a sub-selector, which
// extends the current context to add a pseudo-selector or a child
// selector. Such a property should contain a `&` character, which
// will be replaced by the current selector. For example `{"&:before":
// {content: '"hi"'}}`. Sub-selectors and regular properties can
// freely be mixed in a given object. Any property containing a `&` is
// assumed to be a sub-selector.
//
// Finally, a property can specify an @-block to be wrapped around the
// styles defined inside the object that's the property's value. For
// example to create a media query you can do `{"@media screen and
// (min-width: 400px)": {...}}`.

View file

@ -1,104 +0,0 @@
import {StyleModule} from "style-mod"
import ist from "ist"
describe("StyleModule", () => {
it("renders objects to CSS text", () => {
ist(rules(new StyleModule({main: {color: "red", border: "1px solid green"}})),
["main {color: red; border: 1px solid green;}"], eqRules)
})
it("handles multiple rules", () => {
ist(rules(new StyleModule({
one: {color: "green"},
two: {color: "blue"}
})), [
"one {color: green;}",
"two {color: blue;}"
], eqRules)
})
it("supports &-nesting", () => {
ist(rules(new StyleModule({
main: {
color: "yellow",
"&:hover": {fontWeight: "bold"}
}
})), [
"main:hover {font-weight: bold;}",
"main {color: yellow;}"
], eqRules)
})
it("can replace multiple & markers", () => {
ist(rules(new StyleModule({
main: {
"p &, div &": {color: "blue"}
}
})), [
"p main, div main {color: blue;}"
], eqRules)
})
it("supports media queries", () => {
ist(rules(new StyleModule({
"@media screen and (min-width: 400px)": {
main: {
fontFamily: '"URW Bookman"',
MozBoxSizing: "border-box"
}
}
})), ["@media screen and (min-width: 400px) {main {font-family: \"URW Bookman\"; -moz-box-sizing: border-box;}}"], eqRules)
})
it("can render keyframes", () => {
ist(rules(new StyleModule({
"@keyframes foo": {
"0%": {color: "blue"},
"50%": {color: "red"}
}
})), ["@keyframes foo {0% {color: blue;} 50% {color: red;}}"], eqRules)
})
it("doesn't mangle keyframe names", () => {
ist(rules(new StyleModule({
"@keyframes foo": {
"0%": {color: "blue"},
"50%": {color: "red"}
}
}, {finish: s => ".foo " + s})), ["@keyframes foo {0% {color: blue;} 50% {color: red;}}"], eqRules)
})
it("can render multiple instances of a property", () => {
ist(rules(new StyleModule({
main: {
color: "rgba(100, 100, 100, .5)",
color_2: "grey"
}
})), ["main {color: rgba(100, 100, 100, .5); color: grey;}"], eqRules)
})
it("can expand multiple selectors at once", () => {
ist(rules(new StyleModule({
"one, two": {
"&.x": {
color: "yellow"
}
}
})), ["one.x, two.x {color: yellow;}"], eqRules)
})
it("allows processing of selectors", () => {
ist(rules(new StyleModule({
"abc, cba": {color: "yellow"},
"@media stuff": {abc: {fontWeight: "bold"}}
}, {
finish: x => x.replace(/a/g, "u")
})), ["ubc, cbu {color: yellow;}", "@media stuff {ubc {font-weight: bold;}}"], eqRules)
})
})
function rules(module) { return module.rules }
function eqRules(a, b) {
return JSON.stringify(a) == JSON.stringify(b)
}

View file

@ -1 +0,0 @@
39679

View file

@ -1,19 +0,0 @@
Copyright (C) 2016 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,18 +0,0 @@
# W3C keyname
Tiny library that exports a function `keyName` that takes a keyboard event and
returns a
[`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key)-style
string. Will use the actual `key` property of the event if available,
and fall back to a value synthesized from the `keyCode` otherwise.
Probably often wrong on non-US keyboards, since the correspondence
between a key code and the character it produces when shift is held is
predicted based on a hard-coded table. Meant as a fallback for
`KeyboardEvent.key`, not a replacement.
The lookup tables from key codes (`event.keyCode`) to names are
exported as `base` (when Shift isn't held) and `shift` (when Shift is
held).
License: MIT

View file

@ -1,127 +0,0 @@
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var base = {
8: "Backspace",
9: "Tab",
10: "Enter",
12: "NumLock",
13: "Enter",
16: "Shift",
17: "Control",
18: "Alt",
20: "CapsLock",
27: "Escape",
32: " ",
33: "PageUp",
34: "PageDown",
35: "End",
36: "Home",
37: "ArrowLeft",
38: "ArrowUp",
39: "ArrowRight",
40: "ArrowDown",
44: "PrintScreen",
45: "Insert",
46: "Delete",
59: ";",
61: "=",
91: "Meta",
92: "Meta",
106: "*",
107: "+",
108: ",",
109: "-",
110: ".",
111: "/",
144: "NumLock",
145: "ScrollLock",
160: "Shift",
161: "Shift",
162: "Control",
163: "Control",
164: "Alt",
165: "Alt",
173: "-",
186: ";",
187: "=",
188: ",",
189: "-",
190: ".",
191: "/",
192: "`",
219: "[",
220: "\\",
221: "]",
222: "'"
};
var shift = {
48: ")",
49: "!",
50: "@",
51: "#",
52: "$",
53: "%",
54: "^",
55: "&",
56: "*",
57: "(",
59: ":",
61: "+",
173: "_",
186: ":",
187: "+",
188: "<",
189: "_",
190: ">",
191: "?",
192: "~",
219: "{",
220: "|",
221: "}",
222: "\""
};
var mac = typeof navigator != "undefined" && /Mac/.test(navigator.platform);
var ie = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);
// Fill in the digit keys
for (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i);
// The function keys
for (var i = 1; i <= 24; i++) base[i + 111] = "F" + i;
// And the alphabetic keys
for (var i = 65; i <= 90; i++) {
base[i] = String.fromCharCode(i + 32);
shift[i] = String.fromCharCode(i);
}
// For each code that doesn't have a shift-equivalent, copy the base name
for (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code];
function keyName(event) {
// On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.
// On IE, shift effect is never included in `.key`.
var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey ||
ie && event.shiftKey && event.key && event.key.length == 1 ||
event.key == "Unidentified";
var name = (!ignoreKey && event.key) ||
(event.shiftKey ? shift : base)[event.keyCode] ||
event.key || "Unidentified";
// Edge sometimes produces wrong names (Issue #3)
if (name == "Esc") name = "Escape";
if (name == "Del") name = "Delete";
// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/
if (name == "Left") name = "ArrowLeft";
if (name == "Up") name = "ArrowUp";
if (name == "Right") name = "ArrowRight";
if (name == "Down") name = "ArrowDown";
return name
}
exports.base = base;
exports.keyName = keyName;
exports.shift = shift;

View file

@ -1,5 +0,0 @@
export function keyName(event: Event): string;
export const base: {[keyCode: number]: string};
export const shift: {[keyCode: number]: string};

View file

@ -1,5 +0,0 @@
export function keyName(event: Event): string;
export const base: {[keyCode: number]: string};
export const shift: {[keyCode: number]: string};

View file

@ -1,119 +0,0 @@
export var base = {
8: "Backspace",
9: "Tab",
10: "Enter",
12: "NumLock",
13: "Enter",
16: "Shift",
17: "Control",
18: "Alt",
20: "CapsLock",
27: "Escape",
32: " ",
33: "PageUp",
34: "PageDown",
35: "End",
36: "Home",
37: "ArrowLeft",
38: "ArrowUp",
39: "ArrowRight",
40: "ArrowDown",
44: "PrintScreen",
45: "Insert",
46: "Delete",
59: ";",
61: "=",
91: "Meta",
92: "Meta",
106: "*",
107: "+",
108: ",",
109: "-",
110: ".",
111: "/",
144: "NumLock",
145: "ScrollLock",
160: "Shift",
161: "Shift",
162: "Control",
163: "Control",
164: "Alt",
165: "Alt",
173: "-",
186: ";",
187: "=",
188: ",",
189: "-",
190: ".",
191: "/",
192: "`",
219: "[",
220: "\\",
221: "]",
222: "'"
}
export var shift = {
48: ")",
49: "!",
50: "@",
51: "#",
52: "$",
53: "%",
54: "^",
55: "&",
56: "*",
57: "(",
59: ":",
61: "+",
173: "_",
186: ":",
187: "+",
188: "<",
189: "_",
190: ">",
191: "?",
192: "~",
219: "{",
220: "|",
221: "}",
222: "\""
}
var mac = typeof navigator != "undefined" && /Mac/.test(navigator.platform)
var ie = typeof navigator != "undefined" && /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent)
// Fill in the digit keys
for (var i = 0; i < 10; i++) base[48 + i] = base[96 + i] = String(i)
// The function keys
for (var i = 1; i <= 24; i++) base[i + 111] = "F" + i
// And the alphabetic keys
for (var i = 65; i <= 90; i++) {
base[i] = String.fromCharCode(i + 32)
shift[i] = String.fromCharCode(i)
}
// For each code that doesn't have a shift-equivalent, copy the base name
for (var code in base) if (!shift.hasOwnProperty(code)) shift[code] = base[code]
export function keyName(event) {
// On macOS, keys held with Shift and Cmd don't reflect the effect of Shift in `.key`.
// On IE, shift effect is never included in `.key`.
var ignoreKey = mac && event.metaKey && event.shiftKey && !event.ctrlKey && !event.altKey ||
ie && event.shiftKey && event.key && event.key.length == 1 ||
event.key == "Unidentified"
var name = (!ignoreKey && event.key) ||
(event.shiftKey ? shift : base)[event.keyCode] ||
event.key || "Unidentified"
// Edge sometimes produces wrong names (Issue #3)
if (name == "Esc") name = "Escape"
if (name == "Del") name = "Delete"
// https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/
if (name == "Left") name = "ArrowLeft"
if (name == "Up") name = "ArrowUp"
if (name == "Right") name = "ArrowRight"
if (name == "Down") name = "ArrowDown"
return name
}

View file

@ -1,37 +0,0 @@
{
"name": "w3c-keyname",
"version": "2.2.8",
"description": "Get a KeyboardEvent.key-style string from an event",
"main": "index.cjs",
"type": "module",
"exports": {
"import": "./index.js",
"require": "./index.cjs"
},
"module": "index.js",
"types": "index.d.ts",
"repository": {
"type": "git",
"url": "git+https://github.com/marijnh/w3c-keyname.git"
},
"keywords": [
"browser",
"key",
"event",
"key code"
],
"author": "Marijn Haverbeke <marijn@haverbeke.berlin>",
"license": "MIT",
"bugs": {
"url": "https://github.com/marijnh/w3c-keyname/issues"
},
"homepage": "https://github.com/marijnh/w3c-keyname#readme",
"scripts": {
"build": "rollup -c",
"watch": "rollup -c -w",
"prepare": "npm run build"
},
"devDependencies": {
"rollup": "^1.26.3"
}
}

1
node_modules/@codemirror/commands generated vendored
View file

@ -1 +0,0 @@
../.pnpm/@codemirror+commands@6.6.0/node_modules/@codemirror/commands

1
node_modules/@codemirror/state generated vendored
View file

@ -1 +0,0 @@
../.pnpm/@codemirror+state@6.4.1/node_modules/@codemirror/state

1
node_modules/@codemirror/view generated vendored
View file

@ -1 +0,0 @@
../.pnpm/@codemirror+view@6.32.0/node_modules/@codemirror/view

View file

@ -1,7 +0,0 @@
{
"dependencies": {
"@codemirror/commands": "^6.6.0",
"@codemirror/state": "^6.4.1",
"@codemirror/view": "^6.32.0"
}
}

View file

@ -1,88 +0,0 @@
lockfileVersion: '9.0'
settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
importers:
.:
dependencies:
'@codemirror/commands':
specifier: ^6.6.0
version: 6.6.0
'@codemirror/state':
specifier: ^6.4.1
version: 6.4.1
'@codemirror/view':
specifier: ^6.32.0
version: 6.32.0
packages:
'@codemirror/commands@6.6.0':
resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==}
'@codemirror/language@6.10.2':
resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==}
'@codemirror/state@6.4.1':
resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==}
'@codemirror/view@6.32.0':
resolution: {integrity: sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==}
'@lezer/common@1.2.1':
resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==}
'@lezer/highlight@1.2.1':
resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==}
'@lezer/lr@1.4.2':
resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==}
style-mod@4.1.2:
resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==}
w3c-keyname@2.2.8:
resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
snapshots:
'@codemirror/commands@6.6.0':
dependencies:
'@codemirror/language': 6.10.2
'@codemirror/state': 6.4.1
'@codemirror/view': 6.32.0
'@lezer/common': 1.2.1
'@codemirror/language@6.10.2':
dependencies:
'@codemirror/state': 6.4.1
'@codemirror/view': 6.32.0
'@lezer/common': 1.2.1
'@lezer/highlight': 1.2.1
'@lezer/lr': 1.4.2
style-mod: 4.1.2
'@codemirror/state@6.4.1': {}
'@codemirror/view@6.32.0':
dependencies:
'@codemirror/state': 6.4.1
style-mod: 4.1.2
w3c-keyname: 2.2.8
'@lezer/common@1.2.1': {}
'@lezer/highlight@1.2.1':
dependencies:
'@lezer/common': 1.2.1
'@lezer/lr@1.4.2':
dependencies:
'@lezer/common': 1.2.1
style-mod@4.1.2: {}
w3c-keyname@2.2.8: {}