Version 1.0

This commit is contained in:
Alexander R. committed 2026-07-21 22:24:25 +00:00
1 parent f3645fbfbc
commit 9edbfd3f77
4134 files changed
+1448752 -1

No files matched your search

+1691
View File
File diff suppressed because it is too large. Load diff
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 - present Microsoft Corporation
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.
+123
View File
@@ -0,0 +1,123 @@
# Monaco Editor
[![Versions](https://img.shields.io/npm/v/monaco-editor)](https://www.npmjs.com/package/monaco-editor)
[![Versions](https://img.shields.io/npm/v/monaco-editor/next)](https://www.npmjs.com/package/monaco-editor)
[![Feature Requests](https://img.shields.io/github/issues/microsoft/monaco-editor/feature-request.svg)](https://github.com/microsoft/monaco-editor/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
[![Bugs](https://img.shields.io/github/issues/microsoft/monaco-editor/bug.svg)](https://github.com/microsoft/monaco-editor/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3Abug)
The Monaco Editor is the fully featured code editor from [VS Code](https://github.com/microsoft/vscode). Check out the [VS Code docs](https://code.visualstudio.com/docs/editor/editingevolved) to see some of the supported features.
![image](https://user-images.githubusercontent.com/5047891/94183711-290c0780-fea3-11ea-90e3-c88ff9d21bd6.png)
## Try it out
Try out the editor and see various examples [in our interactive playground](https://microsoft.github.io/monaco-editor/playground.html).
The playground is the best way to learn about how to use the editor, which features is supports, to try out different versions and to create minimal reproducible examples for bug reports.
## Installing
```
> npm install monaco-editor
```
You will get:
- inside `/esm`: ESM version of the editor (compatible with e.g. webpack)
- `monaco.d.ts`: this specifies the API of the editor (this is what is actually versioned, everything else is considered private and might break with any release).
:warning: The monaco editor also ships an `AMD` build for backwards-compatibility reasons, but the `AMD` support is deprecated and will be removed in future versions.
## Localization
To load the editor in a specific language, make sure that the corresponding nls script file is loaded before the main monaco editor script. For example, to load the editor in German, include the following script tag:
```html
<script src="path/to/monaco-editor/esm/nls.messages.de.js"></script>
```
Check the sources for available languages.
## Concepts
Monaco editor is best known for being the text editor that powers VS Code. However, it's a bit more nuanced. Some basic understanding about the underlying concepts is needed to use Monaco editor effectively.
### Models
Models are at the heart of Monaco editor. It's what you interact with when managing content. A model represents a file that has been opened. This could represent a file that exists on a file system, but it doesn't have to. For example, the model holds the text content, determines the language of the content, and tracks the edit history of the content.
### URIs
Each model is identified by a URI. This is why it's not possible for two models to have the same URI. Ideally when you represent content in Monaco editor, you should think of a virtual file system that matches the files your users are editing. For example, you could use `file:///` as a base path. If a model is created without a URI, its URI will be `inmemory://model/1`. The number increases as more models are created.
### Editors
An editor is a user facing view of the model. This is what gets attached to the DOM and what your users see visually. Typical editor operations are displaying a model, managing the view state, or executing actions or commands.
### Providers
Providers provide smart editor features. For example, this includes completion and hover information. It is not the same as, but often maps to [language server protocol](https://microsoft.github.io/language-server-protocol) features.
Providers work on models. Some smart features depends on the file URI. For example, for TypeScript to resolve imports, or for JSON IntelliSense to determine which JSON schema to apply to which model. So it's important to choose proper model URIs.
### Disposables
Many Monaco related objects often implement the `.dispose()` method. This method is intended to perform cleanups when a resource is no longer needed. For example, calling `model.dispose()` will unregister it, freeing up the URI for a new model. Editors should be disposed to free up resources and remove their model listeners.
## Documentation
- Learn how to integrate the editor with these [complete samples](./samples/).
- [Integrate the ESM version](./docs/integrate-esm.md)
- Learn how to use the editor API and try out your own customizations in the [playground](https://microsoft.github.io/monaco-editor/playground.html).
- Explore the [API docs](https://microsoft.github.io/monaco-editor/docs.html) or read them straight from [`monaco.d.ts`](https://github.com/microsoft/monaco-editor/blob/gh-pages/node_modules/monaco-editor/monaco.d.ts).
- Read [this guide](https://github.com/microsoft/monaco-editor/wiki/Accessibility-Guide-for-Integrators) to ensure the editor is accessible to all your users!
- Create a Monarch tokenizer for a new programming language [in the Monarch playground](https://microsoft.github.io/monaco-editor/monarch.html).
- Ask questions on [StackOverflow](https://stackoverflow.com/questions/tagged/monaco-editor)! Search open and closed issues, there are a lot of tips in there!
## Issues
Create [issues](https://github.com/microsoft/monaco-editor/issues) in this repository for anything related to the Monaco Editor. Please search for existing issues to avoid duplicates.
## FAQ
❓ **What is the relationship between VS Code and the Monaco Editor?**
The Monaco Editor is generated straight from VS Code's sources with some shims around services the code needs to make it run in a web browser outside of its home.
❓ **What is the relationship between VS Code's version and the Monaco Editor's version?**
None. The Monaco Editor is a library and it reflects directly the source code.
❓ **I've written an extension for VS Code, will it work on the Monaco Editor in a browser?**
No.
> Note: If the extension is fully based on the [LSP](https://microsoft.github.io/language-server-protocol/) and if the language server is authored in JavaScript, then it would be possible.
❓ **Why all these web workers and why should I care?**
Language services create web workers to compute heavy stuff outside of the UI thread. They cost hardly anything in terms of resource overhead and you shouldn't worry too much about them, as long as you get them to work (see above the cross-domain case).
❓ **I see the warning "Could not create web worker". What should I do?**
HTML5 does not allow pages loaded on `file://` to create web workers. Please load the editor with a web server on `http://` or `https://` schemes.
❓ **Is the editor supported in mobile browsers or mobile web app frameworks?**
No.
❓ **Why doesn't the editor support TextMate grammars?**
- Please see https://github.com/bolinfest/monaco-tm which puts together `monaco-editor`, `vscode-oniguruma` and `vscode-textmate` to get TM grammar support in the editor.
## Contributing / Local Development
We are welcoming contributions from the community!
Please see [CONTRIBUTING](./CONTRIBUTING.md) for details how you can contribute effectively, how you can run the editor from sources and how you can debug and fix issues.
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
## License
Licensed under the [MIT](https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt) License.
+448
View File
@@ -0,0 +1,448 @@
THIRD-PARTY SOFTWARE NOTICES AND INFORMATION
Do Not Translate or Localize
This project incorporates components from the projects listed below. The original copyright notices and the licenses
under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted
herein, whether by implication, estoppel or otherwise.
%% nodejs path library (https://github.com/nodejs/node/tree/43dd49c9782848c25e5b03448c8a0f923f13c158)
=========================================
Copyright Joyent, Inc. and other Node contributors.
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.
=========================================
END OF nodejs path library NOTICES AND INFORMATION
%% markedjs NOTICES AND INFORMATION BEGIN HERE
=========================================
The MIT License (MIT)
Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/)
Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/)
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.
=========================================
END OF markedjs NOTICES AND INFORMATION
%% typescript version 4.4.4 (https://github.com/microsoft/TypeScript)
=========================================
Copyright (c) Microsoft Corporation. All rights reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of this License; and
You must cause any modified files to carry prominent notices stating that You changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
The TypeScript software incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise.
------------------- DefinitelyTyped --------------------
This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise.
DefinitelyTyped
This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only
MIT License
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.
--------------------------------------------------------------------------------------
------------------- Unicode --------------------
UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
Unicode Data Files include all data files under the directories
http://www.unicode.org/Public/, http://www.unicode.org/reports/,
http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
http://www.unicode.org/utility/trac/browser/.
Unicode Data Files do not include PDF online code charts under the
directory http://www.unicode.org/Public/.
Software includes any source code published in the Unicode Standard
or under the directories
http://www.unicode.org/Public/, http://www.unicode.org/reports/,
http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and
http://www.unicode.org/utility/trac/browser/.
NOTICE TO USER: Carefully read the following legal agreement.
BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
TERMS AND CONDITIONS OF THIS AGREEMENT.
IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
THE DATA FILES OR SOFTWARE.
COPYRIGHT AND PERMISSION NOTICE
Copyright (c) 1991-2017 Unicode, Inc. All rights reserved.
Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation
(the "Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software
without restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, and/or sell copies of
the Data Files or Software, and to permit persons to whom the Data Files
or Software are furnished to do so, provided that either
(a) this copyright and permission notice appear with all copies
of the Data Files or Software, or
(b) this copyright and permission notice appear in associated
Documentation.
THE DATA FILES AND SOFTWARE ARE 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 OF THIRD PARTY RIGHTS.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THE DATA FILES OR SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale,
use or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.
-------------------------------------------------------------------------------------
-------------------Document Object Model-----------------------------
DOM
W3C License
This work is being provided by the copyright holders under the following license.
By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following
on ALL copies of the work or portions thereof, including modifications:
* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived
from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
Disclaimers
THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission.
Title to copyright in this work will at all times remain with copyright holders.
---------
DOM
Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees =======================================================================
Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receivLine truncated
--------------------------------------------------------------------------------
----------------------Web Background Synchronization------------------------------
Web Background Synchronization Specification
Portions of spec © by W3C
W3C Community Final Specification Agreement
To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is
available. See also the related "W3C Community Contributor License Agreement".
1. The Purpose of this Agreement.
This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification.
Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document".
2. Copyrights.
2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification.
2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number.
3. Patents.
3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification.
3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site.
4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel.
5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards.
6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement.
7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply:
7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group.
7.2. If I Do Not Join the Corresponding Working Group.
7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy.
7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy.
8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms.
9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED “AS IS.” The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search.
10. Definitions.
10.1. Agreement. “Agreement” means this W3C Community Final Specification Agreement.
10.2. Corresponding Working Group. “Corresponding Working Group” is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input.
10.3. Essential Claims. “Essential Claims” shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims:
10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and
10.3.2. claims which would be infringed only by:
portions of an implementation that are not specified in the normative portions of the Specification, or
enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or
the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification.
10.3.3. design patents and design registrations.
For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative.
10.4. I, Me, or My. “I,” “me,” or “my” refers to the signatory.
10.5 Project. “Project” means the W3C Community Group or Business Group for which I executed this Agreement.
10.6. Specification. “Specification” means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification.
10.7. W3C Community RF Licensing Requirements. “W3C Community RF Licensing Requirements” license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that:
10.7.1. shall be available to all, worldwide, whether or not they are W3C Members;
10.7.2. shall extend to all Essential Claims owned or controlled by me;
10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification;
10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all.
10.7.5. may not be conditioned on payment of royalties, fees or other consideration;
10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation;
10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution;
10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor.
10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question.
I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available.
10.8. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls.
-------------------------------------------------------------------------------------
------------------- WebGL -----------------------------
Copyright (c) 2018 The Khronos Group Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are 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 Materials.
THE MATERIALS ARE 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
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
------------------------------------------------------
=========================================
END OF typescript NOTICES AND INFORMATION
%% HTML 5.1 W3C Working Draft version 08 October 2015 (http://www.w3.org/TR/2015/WD-html51-20151008/)
=========================================
Copyright © 2015 W3C® (MIT, ERCIM, Keio, Beihang). This software or document includes material copied
from or derived from HTML 5.1 W3C Working Draft (http://www.w3.org/TR/2015/WD-html51-20151008/.)
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT
NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF
THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY
PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents
without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.
=========================================
END OF HTML 5.1 W3C Working Draft NOTICES AND INFORMATION
%% JS Beautifier version 1.6.2 (https://github.com/beautify-web/js-beautify)
=========================================
The MIT License (MIT)
Copyright (c) 2007-2017 Einar Lielmanis, Liam Newman, and contributors.
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.
=========================================
END OF js-beautify NOTICES AND INFORMATION
%% Ionic documentation version 1.2.4 (https://github.com/driftyco/ionic-site)
=========================================
Copyright Drifty Co. http://drifty.com/.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of this License; and
You must cause any modified files to carry prominent notices stating that You changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
=========================================
END OF Ionic documentation NOTICES AND INFORMATION
%% vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
=========================================
The MIT License (MIT)
Copyright (c) 2015 David Owens II
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.
=========================================
END OF vscode-swift NOTICES AND INFORMATION
@@ -0,0 +1,7 @@
define("vs/_commonjsHelpers-98qg88fe", ["exports"], (function(exports) {
"use strict";
function getDefaultExportFromCjs(x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
}));
File diff suppressed because it is too large. Load diff
+333
View File
@@ -0,0 +1,333 @@
define("vs/apex-Jqcmv7eP", ["exports"], (function(exports) {
"use strict";
const conf = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "<", close: ">" }
],
folding: {
markers: {
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
}
}
};
const keywords = [
"abstract",
"activate",
"and",
"any",
"array",
"as",
"asc",
"assert",
"autonomous",
"begin",
"bigdecimal",
"blob",
"boolean",
"break",
"bulk",
"by",
"case",
"cast",
"catch",
"char",
"class",
"collect",
"commit",
"const",
"continue",
"convertcurrency",
"decimal",
"default",
"delete",
"desc",
"do",
"double",
"else",
"end",
"enum",
"exception",
"exit",
"export",
"extends",
"false",
"final",
"finally",
"float",
"for",
"from",
"future",
"get",
"global",
"goto",
"group",
"having",
"hint",
"if",
"implements",
"import",
"in",
"inner",
"insert",
"instanceof",
"int",
"interface",
"into",
"join",
"last_90_days",
"last_month",
"last_n_days",
"last_week",
"like",
"limit",
"list",
"long",
"loop",
"map",
"merge",
"native",
"new",
"next_90_days",
"next_month",
"next_n_days",
"next_week",
"not",
"null",
"nulls",
"number",
"object",
"of",
"on",
"or",
"outer",
"override",
"package",
"parallel",
"pragma",
"private",
"protected",
"public",
"retrieve",
"return",
"returning",
"rollback",
"savepoint",
"search",
"select",
"set",
"short",
"sort",
"stat",
"static",
"strictfp",
"super",
"switch",
"synchronized",
"system",
"testmethod",
"then",
"this",
"this_month",
"this_week",
"throw",
"throws",
"today",
"tolabel",
"tomorrow",
"transaction",
"transient",
"trigger",
"true",
"try",
"type",
"undelete",
"update",
"upsert",
"using",
"virtual",
"void",
"volatile",
"webservice",
"when",
"where",
"while",
"yesterday"
];
const uppercaseFirstLetter = (lowercase) => lowercase.charAt(0).toUpperCase() + lowercase.substr(1);
let keywordsWithCaseVariations = [];
keywords.forEach((lowercase) => {
keywordsWithCaseVariations.push(lowercase);
keywordsWithCaseVariations.push(lowercase.toUpperCase());
keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase));
});
const language = {
defaultToken: "",
tokenPostfix: ".apex",
keywords: keywordsWithCaseVariations,
operators: [
"=",
">",
"<",
"!",
"~",
"?",
":",
"==",
"<=",
">=",
"!=",
"&&",
"||",
"++",
"--",
"+",
"-",
"*",
"/",
"&",
"|",
"^",
"%",
"<<",
">>",
">>>",
"+=",
"-=",
"*=",
"/=",
"&=",
"|=",
"^=",
"%=",
"<<=",
">>=",
">>>="
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+(_+\d+)*/,
octaldigits: /[0-7]+(_+[0-7]+)*/,
binarydigits: /[0-1]+(_+[0-1]+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-z_$][\w$]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// assume that identifiers starting with an uppercase letter are types
[
/[A-Z][\w\$]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "type.identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// @ annotations.
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
// numbers
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
[/(@digits)[fFdD]/, "number.float"],
[/(@digits)[lL]?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", '@string."'],
[/'/, "string", "@string.'"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@apexdoc"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
//Identical copy of comment above, except for the addition of .doc
apexdoc: [
[/[^\/*]+/, "comment.doc"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
string: [
[/[^\\"']+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+71
View File
@@ -0,0 +1,71 @@
define("vs/azcli-DlDxj3-g", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
}
};
const language = {
defaultToken: "keyword",
ignoreCase: true,
tokenPostfix: ".azcli",
str: /[^#\s]/,
tokenizer: {
root: [
{ include: "@comment" },
[
/\s-+@str*\s*/,
{
cases: {
"@eos": { token: "key.identifier", next: "@popall" },
"@default": { token: "key.identifier", next: "@type" }
}
}
],
[
/^-+@str*\s*/,
{
cases: {
"@eos": { token: "key.identifier", next: "@popall" },
"@default": { token: "key.identifier", next: "@type" }
}
}
]
],
type: [
{ include: "@comment" },
[
/-+@str*\s*/,
{
cases: {
"@eos": { token: "key.identifier", next: "@popall" },
"@default": "key.identifier"
}
}
],
[
/@str+\s*/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
]
],
comment: [
[
/#.*$/,
{
cases: {
"@eos": { token: "comment", next: "@popall" }
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,638 @@
define("vs/basic-languages/monaco.contribution", ["require", "../editor.api-CykLys8L"], (function(require, editor_api) {
"use strict";
const languageDefinitions = {};
const lazyLanguageLoaders = {};
class LazyLanguageLoader {
static getOrCreate(languageId) {
if (!lazyLanguageLoaders[languageId]) {
lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);
}
return lazyLanguageLoaders[languageId];
}
constructor(languageId) {
this._languageId = languageId;
this._loadingTriggered = false;
this._lazyLoadPromise = new Promise((resolve, reject) => {
this._lazyLoadPromiseResolve = resolve;
this._lazyLoadPromiseReject = reject;
});
}
load() {
if (!this._loadingTriggered) {
this._loadingTriggered = true;
languageDefinitions[this._languageId].loader().then(
(mod) => this._lazyLoadPromiseResolve(mod),
(err) => this._lazyLoadPromiseReject(err)
);
}
return this._lazyLoadPromise;
}
}
function registerLanguage(def) {
const languageId = def.id;
languageDefinitions[languageId] = def;
editor_api.languages.register(def);
const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);
editor_api.languages.registerTokensProviderFactory(languageId, {
create: async () => {
const mod = await lazyLanguageLoader.load();
return mod.language;
}
});
editor_api.languages.onLanguageEncountered(languageId, async () => {
const mod = await lazyLanguageLoader.load();
editor_api.languages.setLanguageConfiguration(languageId, mod.conf);
});
}
registerLanguage({
id: "abap",
extensions: [".abap"],
aliases: ["abap", "ABAP"],
loader: () => new Promise((resolve, reject) => require(["../abap-BxE6jMvt"], resolve, reject))
});
registerLanguage({
id: "apex",
extensions: [".cls"],
aliases: ["Apex", "apex"],
mimetypes: ["text/x-apex-source", "text/x-apex"],
loader: () => new Promise((resolve, reject) => require(["../apex-Jqcmv7eP"], resolve, reject))
});
registerLanguage({
id: "azcli",
extensions: [".azcli"],
aliases: ["Azure CLI", "azcli"],
loader: () => new Promise((resolve, reject) => require(["../azcli-DlDxj3-g"], resolve, reject))
});
registerLanguage({
id: "bat",
extensions: [".bat", ".cmd"],
aliases: ["Batch", "bat"],
loader: () => new Promise((resolve, reject) => require(["../bat-gO9qKzUo"], resolve, reject))
});
registerLanguage({
id: "bicep",
extensions: [".bicep"],
aliases: ["Bicep"],
loader: () => new Promise((resolve, reject) => require(["../bicep-XOQLqtWX"], resolve, reject))
});
registerLanguage({
id: "cameligo",
extensions: [".mligo"],
aliases: ["Cameligo"],
loader: () => new Promise((resolve, reject) => require(["../cameligo-DCtn5844"], resolve, reject))
});
registerLanguage({
id: "clojure",
extensions: [".clj", ".cljs", ".cljc", ".edn"],
aliases: ["clojure", "Clojure"],
loader: () => new Promise((resolve, reject) => require(["../clojure-DyYtgmYv"], resolve, reject))
});
registerLanguage({
id: "coffeescript",
extensions: [".coffee"],
aliases: ["CoffeeScript", "coffeescript", "coffee"],
mimetypes: ["text/x-coffeescript", "text/coffeescript"],
loader: () => new Promise((resolve, reject) => require(["../coffee-C8bOs6Uz"], resolve, reject))
});
registerLanguage({
id: "c",
extensions: [".c", ".h"],
aliases: ["C", "c"],
loader: () => new Promise((resolve, reject) => require(["../cpp-9dJI961u"], resolve, reject))
});
registerLanguage({
id: "cpp",
extensions: [".cpp", ".cc", ".cxx", ".hpp", ".hh", ".hxx"],
aliases: ["C++", "Cpp", "cpp"],
loader: () => new Promise((resolve, reject) => require(["../cpp-9dJI961u"], resolve, reject))
});
registerLanguage({
id: "csharp",
extensions: [".cs", ".csx", ".cake"],
aliases: ["C#", "csharp"],
loader: () => new Promise((resolve, reject) => require(["../csharp-NZNtYXm3"], resolve, reject))
});
registerLanguage({
id: "csp",
extensions: [".csp"],
aliases: ["CSP", "csp"],
loader: () => new Promise((resolve, reject) => require(["../csp-CtMdzNMY"], resolve, reject))
});
registerLanguage({
id: "css",
extensions: [".css"],
aliases: ["CSS", "css"],
mimetypes: ["text/css"],
loader: () => new Promise((resolve, reject) => require(["../css-t68wsr0f"], resolve, reject))
});
registerLanguage({
id: "cypher",
extensions: [".cypher", ".cyp"],
aliases: ["Cypher", "OpenCypher"],
loader: () => new Promise((resolve, reject) => require(["../cypher-DyfRGA23"], resolve, reject))
});
registerLanguage({
id: "dart",
extensions: [".dart"],
aliases: ["Dart", "dart"],
mimetypes: ["text/x-dart-source", "text/x-dart"],
loader: () => new Promise((resolve, reject) => require(["../dart-eN3E5CF0"], resolve, reject))
});
registerLanguage({
id: "dockerfile",
extensions: [".dockerfile"],
filenames: ["Dockerfile"],
aliases: ["Dockerfile"],
loader: () => new Promise((resolve, reject) => require(["../dockerfile-A7JJbAuF"], resolve, reject))
});
registerLanguage({
id: "ecl",
extensions: [".ecl"],
aliases: ["ECL", "Ecl", "ecl"],
loader: () => new Promise((resolve, reject) => require(["../ecl-BJgqfLSq"], resolve, reject))
});
registerLanguage({
id: "elixir",
extensions: [".ex", ".exs"],
aliases: ["Elixir", "elixir", "ex"],
loader: () => new Promise((resolve, reject) => require(["../elixir-BxvNo5o6"], resolve, reject))
});
registerLanguage({
id: "flow9",
extensions: [".flow"],
aliases: ["Flow9", "Flow", "flow9", "flow"],
loader: () => new Promise((resolve, reject) => require(["../flow9-BNnUn-_8"], resolve, reject))
});
registerLanguage({
id: "fsharp",
extensions: [".fs", ".fsi", ".ml", ".mli", ".fsx", ".fsscript"],
aliases: ["F#", "FSharp", "fsharp"],
loader: () => new Promise((resolve, reject) => require(["../fsharp-DHdXPb1O"], resolve, reject))
});
registerLanguage({
id: "freemarker2",
extensions: [".ftl", ".ftlh", ".ftlx"],
aliases: ["FreeMarker2", "Apache FreeMarker2"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagAutoInterpolationDollar);
}
});
registerLanguage({
id: "freemarker2.tag-angle.interpolation-dollar",
aliases: ["FreeMarker2 (Angle/Dollar)", "Apache FreeMarker2 (Angle/Dollar)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagAngleInterpolationDollar);
}
});
registerLanguage({
id: "freemarker2.tag-bracket.interpolation-dollar",
aliases: ["FreeMarker2 (Bracket/Dollar)", "Apache FreeMarker2 (Bracket/Dollar)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagBracketInterpolationDollar);
}
});
registerLanguage({
id: "freemarker2.tag-angle.interpolation-bracket",
aliases: ["FreeMarker2 (Angle/Bracket)", "Apache FreeMarker2 (Angle/Bracket)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagAngleInterpolationBracket);
}
});
registerLanguage({
id: "freemarker2.tag-bracket.interpolation-bracket",
aliases: ["FreeMarker2 (Bracket/Bracket)", "Apache FreeMarker2 (Bracket/Bracket)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagBracketInterpolationBracket);
}
});
registerLanguage({
id: "freemarker2.tag-auto.interpolation-dollar",
aliases: ["FreeMarker2 (Auto/Dollar)", "Apache FreeMarker2 (Auto/Dollar)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagAutoInterpolationDollar);
}
});
registerLanguage({
id: "freemarker2.tag-auto.interpolation-bracket",
aliases: ["FreeMarker2 (Auto/Bracket)", "Apache FreeMarker2 (Auto/Bracket)"],
loader: () => {
return new Promise((resolve, reject) => require(["../freemarker2-CQSuO4BX"], resolve, reject)).then((m) => m.TagAutoInterpolationBracket);
}
});
registerLanguage({
id: "go",
extensions: [".go"],
aliases: ["Go"],
loader: () => new Promise((resolve, reject) => require(["../go-DcS9_gMe"], resolve, reject))
});
registerLanguage({
id: "graphql",
extensions: [".graphql", ".gql"],
aliases: ["GraphQL", "graphql", "gql"],
mimetypes: ["application/graphql"],
loader: () => new Promise((resolve, reject) => require(["../graphql-CHzgmf8E"], resolve, reject))
});
registerLanguage({
id: "handlebars",
extensions: [".handlebars", ".hbs"],
aliases: ["Handlebars", "handlebars", "hbs"],
mimetypes: ["text/x-handlebars-template"],
loader: () => new Promise((resolve, reject) => require(["../handlebars-C_OonjWa"], resolve, reject))
});
registerLanguage({
id: "hcl",
extensions: [".tf", ".tfvars", ".hcl"],
aliases: ["Terraform", "tf", "HCL", "hcl"],
loader: () => new Promise((resolve, reject) => require(["../hcl-ChD4paVH"], resolve, reject))
});
registerLanguage({
id: "html",
extensions: [".html", ".htm", ".shtml", ".xhtml", ".mdoc", ".jsp", ".asp", ".aspx", ".jshtm"],
aliases: ["HTML", "htm", "html", "xhtml"],
mimetypes: ["text/html", "text/x-jshtm", "text/template", "text/ng-template"],
loader: () => new Promise((resolve, reject) => require(["../html-Bey8D4EY"], resolve, reject))
});
registerLanguage({
id: "ini",
extensions: [".ini", ".properties", ".gitconfig"],
filenames: ["config", ".gitattributes", ".gitconfig", ".editorconfig"],
aliases: ["Ini", "ini"],
loader: () => new Promise((resolve, reject) => require(["../ini-CdZgSnLI"], resolve, reject))
});
registerLanguage({
id: "java",
extensions: [".java", ".jav"],
aliases: ["Java", "java"],
mimetypes: ["text/x-java-source", "text/x-java"],
loader: () => new Promise((resolve, reject) => require(["../java-vwwkdu2k"], resolve, reject))
});
registerLanguage({
id: "javascript",
extensions: [".js", ".es6", ".jsx", ".mjs", ".cjs"],
firstLine: "^#!.*\\bnode",
filenames: ["jakefile"],
aliases: ["JavaScript", "javascript", "js"],
mimetypes: ["text/javascript"],
loader: () => new Promise((resolve, reject) => require(["../javascript-BgQ1b_eP"], resolve, reject))
});
registerLanguage({
id: "julia",
extensions: [".jl"],
aliases: ["julia", "Julia"],
loader: () => new Promise((resolve, reject) => require(["../julia-DrYN6c6i"], resolve, reject))
});
registerLanguage({
id: "kotlin",
extensions: [".kt", ".kts"],
aliases: ["Kotlin", "kotlin"],
mimetypes: ["text/x-kotlin-source", "text/x-kotlin"],
loader: () => new Promise((resolve, reject) => require(["../kotlin-CSDqhv6t"], resolve, reject))
});
registerLanguage({
id: "less",
extensions: [".less"],
aliases: ["Less", "less"],
mimetypes: ["text/x-less", "text/less"],
loader: () => new Promise((resolve, reject) => require(["../less-B7KFvseP"], resolve, reject))
});
registerLanguage({
id: "lexon",
extensions: [".lex"],
aliases: ["Lexon"],
loader: () => new Promise((resolve, reject) => require(["../lexon-BmRNXYWC"], resolve, reject))
});
registerLanguage({
id: "lua",
extensions: [".lua"],
aliases: ["Lua", "lua"],
loader: () => new Promise((resolve, reject) => require(["../lua-BYAO5Img"], resolve, reject))
});
registerLanguage({
id: "liquid",
extensions: [".liquid", ".html.liquid"],
aliases: ["Liquid", "liquid"],
mimetypes: ["application/liquid"],
loader: () => new Promise((resolve, reject) => require(["../liquid-Limfe9fx"], resolve, reject))
});
registerLanguage({
id: "m3",
extensions: [".m3", ".i3", ".mg", ".ig"],
aliases: ["Modula-3", "Modula3", "modula3", "m3"],
loader: () => new Promise((resolve, reject) => require(["../m3-B1KqSpyY"], resolve, reject))
});
registerLanguage({
id: "markdown",
extensions: [".md", ".markdown", ".mdown", ".mkdn", ".mkd", ".mdwn", ".mdtxt", ".mdtext"],
aliases: ["Markdown", "markdown"],
loader: () => new Promise((resolve, reject) => require(["../markdown-BXo7NBdp"], resolve, reject))
});
registerLanguage({
id: "mdx",
extensions: [".mdx"],
aliases: ["MDX", "mdx"],
loader: () => new Promise((resolve, reject) => require(["../mdx-DDjyMvBD"], resolve, reject))
});
registerLanguage({
id: "mips",
extensions: [".s"],
aliases: ["MIPS", "MIPS-V"],
mimetypes: ["text/x-mips", "text/mips", "text/plaintext"],
loader: () => new Promise((resolve, reject) => require(["../mips-zX62smW0"], resolve, reject))
});
registerLanguage({
id: "msdax",
extensions: [".dax", ".msdax"],
aliases: ["DAX", "MSDAX"],
loader: () => new Promise((resolve, reject) => require(["../msdax-MzEb-8sD"], resolve, reject))
});
registerLanguage({
id: "mysql",
extensions: [],
aliases: ["MySQL", "mysql"],
loader: () => new Promise((resolve, reject) => require(["../mysql-Drs0JCLT"], resolve, reject))
});
registerLanguage({
id: "objective-c",
extensions: [".m"],
aliases: ["Objective-C"],
loader: () => new Promise((resolve, reject) => require(["../objective-c-DZzj24DI"], resolve, reject))
});
registerLanguage({
id: "pascal",
extensions: [".pas", ".p", ".pp"],
aliases: ["Pascal", "pas"],
mimetypes: ["text/x-pascal-source", "text/x-pascal"],
loader: () => new Promise((resolve, reject) => require(["../pascal-Ek4lERtt"], resolve, reject))
});
registerLanguage({
id: "pascaligo",
extensions: [".ligo"],
aliases: ["Pascaligo", "ligo"],
loader: () => new Promise((resolve, reject) => require(["../pascaligo-BhBiNdI2"], resolve, reject))
});
registerLanguage({
id: "perl",
extensions: [".pl", ".pm"],
aliases: ["Perl", "pl"],
loader: () => new Promise((resolve, reject) => require(["../perl-BZM3Cl3T"], resolve, reject))
});
registerLanguage({
id: "pgsql",
extensions: [],
aliases: ["PostgreSQL", "postgres", "pg", "postgre"],
loader: () => new Promise((resolve, reject) => require(["../pgsql-BAYS0xjf"], resolve, reject))
});
registerLanguage({
id: "php",
extensions: [".php", ".php4", ".php5", ".phtml", ".ctp"],
aliases: ["PHP", "php"],
mimetypes: ["application/x-php"],
loader: () => new Promise((resolve, reject) => require(["../php-DK3ktPH8"], resolve, reject))
});
registerLanguage({
id: "pla",
extensions: [".pla"],
loader: () => new Promise((resolve, reject) => require(["../pla-DbBZgOrT"], resolve, reject))
});
registerLanguage({
id: "postiats",
extensions: [".dats", ".sats", ".hats"],
aliases: ["ATS", "ATS/Postiats"],
loader: () => new Promise((resolve, reject) => require(["../postiats-OtZm4COL"], resolve, reject))
});
registerLanguage({
id: "powerquery",
extensions: [".pq", ".pqm"],
aliases: ["PQ", "M", "Power Query", "Power Query M"],
loader: () => new Promise((resolve, reject) => require(["../powerquery-Du80-tps"], resolve, reject))
});
registerLanguage({
id: "powershell",
extensions: [".ps1", ".psm1", ".psd1"],
aliases: ["PowerShell", "powershell", "ps", "ps1"],
loader: () => new Promise((resolve, reject) => require(["../powershell-mk7ECzLJ"], resolve, reject))
});
registerLanguage({
id: "proto",
extensions: [".proto"],
aliases: ["protobuf", "Protocol Buffers"],
loader: () => new Promise((resolve, reject) => require(["../protobuf-Bn1ftnRe"], resolve, reject))
});
registerLanguage({
id: "pug",
extensions: [".jade", ".pug"],
aliases: ["Pug", "Jade", "jade"],
loader: () => new Promise((resolve, reject) => require(["../pug-BIApPNjT"], resolve, reject))
});
registerLanguage({
id: "python",
extensions: [".py", ".rpy", ".pyw", ".cpy", ".gyp", ".gypi"],
aliases: ["Python", "py"],
firstLine: "^#!/.*\\bpython[0-9.-]*\\b",
loader: () => new Promise((resolve, reject) => require(["../python-CzSOMEzg"], resolve, reject))
});
registerLanguage({
id: "qsharp",
extensions: [".qs"],
aliases: ["Q#", "qsharp"],
loader: () => new Promise((resolve, reject) => require(["../qsharp-BzyhV8V4"], resolve, reject))
});
registerLanguage({
id: "r",
extensions: [".r", ".rhistory", ".rmd", ".rprofile", ".rt"],
aliases: ["R", "r"],
loader: () => new Promise((resolve, reject) => require(["../r-BZ_VXAR1"], resolve, reject))
});
registerLanguage({
id: "razor",
extensions: [".cshtml"],
aliases: ["Razor", "razor"],
mimetypes: ["text/x-cshtml"],
loader: () => new Promise((resolve, reject) => require(["../razor-BIG_AFb9"], resolve, reject))
});
registerLanguage({
id: "redis",
extensions: [".redis"],
aliases: ["redis"],
loader: () => new Promise((resolve, reject) => require(["../redis-BVpHZsxd"], resolve, reject))
});
registerLanguage({
id: "redshift",
extensions: [],
aliases: ["Redshift", "redshift"],
loader: () => new Promise((resolve, reject) => require(["../redshift-DMeYiY_v"], resolve, reject))
});
registerLanguage({
id: "restructuredtext",
extensions: [".rst"],
aliases: ["reStructuredText", "restructuredtext"],
loader: () => new Promise((resolve, reject) => require(["../restructuredtext-CmsqpaZy"], resolve, reject))
});
registerLanguage({
id: "ruby",
extensions: [".rb", ".rbx", ".rjs", ".gemspec", ".pp"],
filenames: ["rakefile", "Gemfile"],
aliases: ["Ruby", "rb"],
loader: () => new Promise((resolve, reject) => require(["../ruby-qQzGPz_6"], resolve, reject))
});
registerLanguage({
id: "rust",
extensions: [".rs", ".rlib"],
aliases: ["Rust", "rust"],
loader: () => new Promise((resolve, reject) => require(["../rust-DIvkf86i"], resolve, reject))
});
registerLanguage({
id: "sb",
extensions: [".sb"],
aliases: ["Small Basic", "sb"],
loader: () => new Promise((resolve, reject) => require(["../sb-DUCWDbCb"], resolve, reject))
});
registerLanguage({
id: "scala",
extensions: [".scala", ".sc", ".sbt"],
aliases: ["Scala", "scala", "SBT", "Sbt", "sbt", "Dotty", "dotty"],
mimetypes: ["text/x-scala-source", "text/x-scala", "text/x-sbt", "text/x-dotty"],
loader: () => new Promise((resolve, reject) => require(["../scala-Cs4aXuOD"], resolve, reject))
});
registerLanguage({
id: "scheme",
extensions: [".scm", ".ss", ".sch", ".rkt"],
aliases: ["scheme", "Scheme"],
loader: () => new Promise((resolve, reject) => require(["../scheme-DM9P8uKD"], resolve, reject))
});
registerLanguage({
id: "scss",
extensions: [".scss"],
aliases: ["Sass", "sass", "scss"],
mimetypes: ["text/x-scss", "text/scss"],
loader: () => new Promise((resolve, reject) => require(["../scss-DijLV5ju"], resolve, reject))
});
registerLanguage({
id: "shell",
extensions: [".sh", ".bash"],
aliases: ["Shell", "sh"],
loader: () => new Promise((resolve, reject) => require(["../shell-BmIjpZz5"], resolve, reject))
});
registerLanguage({
id: "sol",
extensions: [".sol"],
aliases: ["sol", "solidity", "Solidity"],
loader: () => new Promise((resolve, reject) => require(["../solidity-ClNCm0U5"], resolve, reject))
});
registerLanguage({
id: "aes",
extensions: [".aes"],
aliases: ["aes", "sophia", "Sophia"],
loader: () => new Promise((resolve, reject) => require(["../sophia-DRm4eves"], resolve, reject))
});
registerLanguage({
id: "sparql",
extensions: [".rq"],
aliases: ["sparql", "SPARQL"],
loader: () => new Promise((resolve, reject) => require(["../sparql-O5ONewYs"], resolve, reject))
});
registerLanguage({
id: "sql",
extensions: [".sql"],
aliases: ["SQL"],
loader: () => new Promise((resolve, reject) => require(["../sql-RAEyXdQG"], resolve, reject))
});
registerLanguage({
id: "st",
extensions: [".st", ".iecst", ".iecplc", ".lc3lib", ".TcPOU", ".TcDUT", ".TcGVL", ".TcIO"],
aliases: ["StructuredText", "scl", "stl"],
loader: () => new Promise((resolve, reject) => require(["../st-UObc-eRR"], resolve, reject))
});
registerLanguage({
id: "swift",
aliases: ["Swift", "swift"],
extensions: [".swift"],
mimetypes: ["text/swift"],
loader: () => new Promise((resolve, reject) => require(["../swift-CXsb7aR5"], resolve, reject))
});
registerLanguage({
id: "systemverilog",
extensions: [".sv", ".svh"],
aliases: ["SV", "sv", "SystemVerilog", "systemverilog"],
loader: () => new Promise((resolve, reject) => require(["../systemverilog-D8uKG36_"], resolve, reject))
});
registerLanguage({
id: "verilog",
extensions: [".v", ".vh"],
aliases: ["V", "v", "Verilog", "verilog"],
loader: () => new Promise((resolve, reject) => require(["../systemverilog-D8uKG36_"], resolve, reject))
});
registerLanguage({
id: "tcl",
extensions: [".tcl"],
aliases: ["tcl", "Tcl", "tcltk", "TclTk", "tcl/tk", "Tcl/Tk"],
loader: () => new Promise((resolve, reject) => require(["../tcl-BiHOeboY"], resolve, reject))
});
registerLanguage({
id: "twig",
extensions: [".twig"],
aliases: ["Twig", "twig"],
mimetypes: ["text/x-twig"],
loader: () => new Promise((resolve, reject) => require(["../twig-DDbyWOW2"], resolve, reject))
});
registerLanguage({
id: "typescript",
extensions: [".ts", ".tsx", ".cts", ".mts"],
aliases: ["TypeScript", "ts", "typescript"],
mimetypes: ["text/typescript"],
loader: () => {
return new Promise((resolve, reject) => require(["../typescript-0SV7N1Xc"], resolve, reject));
}
});
registerLanguage({
id: "typespec",
extensions: [".tsp"],
aliases: ["TypeSpec"],
loader: () => new Promise((resolve, reject) => require(["../typespec-BoPQuPjQ"], resolve, reject))
});
registerLanguage({
id: "vb",
extensions: [".vb"],
aliases: ["Visual Basic", "vb"],
loader: () => new Promise((resolve, reject) => require(["../vb-Dj0rva7R"], resolve, reject))
});
registerLanguage({
id: "wgsl",
extensions: [".wgsl"],
aliases: ["WebGPU Shading Language", "WGSL", "wgsl"],
loader: () => new Promise((resolve, reject) => require(["../wgsl-C6G-1Rhr"], resolve, reject))
});
registerLanguage({
id: "xml",
extensions: [
".xml",
".xsd",
".dtd",
".ascx",
".csproj",
".config",
".props",
".targets",
".wxi",
".wxl",
".wxs",
".xaml",
".svg",
".svgz",
".opf",
".xslt",
".xsl"
],
firstLine: "(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",
aliases: ["XML", "xml"],
mimetypes: ["text/xml", "application/xml", "application/xaml+xml", "application/xml-dtd"],
loader: () => new Promise((resolve, reject) => require(["../xml-fSKCG6nN"], resolve, reject))
});
registerLanguage({
id: "yaml",
extensions: [".yaml", ".yml"],
aliases: ["YAML", "yaml", "YML", "yml"],
mimetypes: ["application/x-yaml", "text/x-yaml"],
loader: () => new Promise((resolve, reject) => require(["../yaml-Dx1TJ9RY"], resolve, reject))
});
}));
+103
View File
@@ -0,0 +1,103 @@
define("vs/bat-gO9qKzUo", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "REM"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
],
surroundingPairs: [
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
],
folding: {
markers: {
start: new RegExp("^\\s*(::\\s*|REM\\s+)#region"),
end: new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")
}
}
};
const language = {
defaultToken: "",
ignoreCase: true,
tokenPostfix: ".bat",
brackets: [
{ token: "delimiter.bracket", open: "{", close: "}" },
{ token: "delimiter.parenthesis", open: "(", close: ")" },
{ token: "delimiter.square", open: "[", close: "]" }
],
keywords: /call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,
// we include these common regular expressions
symbols: /[=><!~?&|+\-*\/\^;\.,]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
[/^(\s*)(rem(?:\s.*|))$/, ["", "comment"]],
[/(\@?)(@keywords)(?!\w)/, [{ token: "keyword" }, { token: "keyword.$2" }]],
// whitespace
[/[ \t\r\n]+/, ""],
// blocks
[/setlocal(?!\w)/, "keyword.tag-setlocal"],
[/endlocal(?!\w)/, "keyword.tag-setlocal"],
// words
[/[a-zA-Z_]\w*/, ""],
// labels
[/:\w*/, "metatag"],
// variables
[/%[^%]+%/, "variable"],
[/%%[\w]+(?!\w)/, "variable"],
// punctuations
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
[/\d+/, "number"],
// punctuation: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings:
[/"/, "string", '@string."'],
[/'/, "string", "@string.'"]
],
string: [
[
/[^\\"'%]+/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/%[\w ]+%/, "variable"],
[/%%[\w]+(?!\w)/, "variable"],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/$/, "string", "@popall"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+112
View File
@@ -0,0 +1,112 @@
define("vs/bicep-XOQLqtWX", ["exports"], (function(exports) {
"use strict";
const bounded = (text) => `\\b${text}\\b`;
const identifierStart = "[_a-zA-Z]";
const identifierContinue = "[_a-zA-Z0-9]";
const identifier = bounded(`${identifierStart}${identifierContinue}*`);
const keywords = [
"targetScope",
"resource",
"module",
"param",
"var",
"output",
"for",
"in",
"if",
"existing"
];
const namedLiterals = ["true", "false", "null"];
const nonCommentWs = `[ \\t\\r\\n]`;
const numericLiteral = `[0-9]+`;
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'" },
{ open: "'''", close: "'''" }
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: "'''", close: "'''", notIn: ["string", "comment"] }
],
autoCloseBefore: ":.,=}])' \n ",
indentationRules: {
increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
}
};
const language = {
defaultToken: "",
tokenPostfix: ".bicep",
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
symbols: /[=><!~?:&|+\-*/^%]+/,
keywords,
namedLiterals,
escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
tokenizer: {
root: [{ include: "@expression" }, { include: "@whitespace" }],
stringVerbatim: [
{ regex: `(|'|'')[^']`, action: { token: "string" } },
{ regex: `'''`, action: { token: "string.quote", next: "@pop" } }
],
stringLiteral: [
{ regex: `\\\${`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
{ regex: `[^\\\\'$]+`, action: { token: "string" } },
{ regex: "@escapes", action: { token: "string.escape" } },
{ regex: `\\\\.`, action: { token: "string.escape.invalid" } },
{ regex: `'`, action: { token: "string", next: "@pop" } }
],
bracketCounting: [
{ regex: `{`, action: { token: "delimiter.bracket", next: "@bracketCounting" } },
{ regex: `}`, action: { token: "delimiter.bracket", next: "@pop" } },
{ include: "expression" }
],
comment: [
{ regex: `[^\\*]+`, action: { token: "comment" } },
{ regex: `\\*\\/`, action: { token: "comment", next: "@pop" } },
{ regex: `[\\/*]`, action: { token: "comment" } }
],
whitespace: [
{ regex: nonCommentWs },
{ regex: `\\/\\*`, action: { token: "comment", next: "@comment" } },
{ regex: `\\/\\/.*$`, action: { token: "comment" } }
],
expression: [
{ regex: `'''`, action: { token: "string.quote", next: "@stringVerbatim" } },
{ regex: `'`, action: { token: "string.quote", next: "@stringLiteral" } },
{ regex: numericLiteral, action: { token: "number" } },
{
regex: identifier,
action: {
cases: {
"@keywords": { token: "keyword" },
"@namedLiterals": { token: "keyword" },
"@default": { token: "identifier" }
}
}
}
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+177
View File
@@ -0,0 +1,177 @@
define("vs/cameligo-DCtn5844", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["(*", "*)"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" },
{ open: '"', close: '"' },
{ open: "(*", close: "*)" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" },
{ open: '"', close: '"' },
{ open: "(*", close: "*)" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".cameligo",
ignoreCase: true,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
keywords: [
"abs",
"assert",
"block",
"Bytes",
"case",
"Crypto",
"Current",
"else",
"failwith",
"false",
"for",
"fun",
"if",
"in",
"let",
"let%entry",
"let%init",
"List",
"list",
"Map",
"map",
"match",
"match%nat",
"mod",
"not",
"operation",
"Operation",
"of",
"record",
"Set",
"set",
"sender",
"skip",
"source",
"String",
"then",
"to",
"true",
"type",
"with"
],
typeKeywords: ["int", "unit", "string", "tz", "nat", "bool"],
operators: [
"=",
">",
"<",
"<=",
">=",
"<>",
":",
":=",
"and",
"mod",
"or",
"+",
"-",
"*",
"/",
"@",
"&",
"^",
"%",
"->",
"<-",
"&&",
"||"
],
// we include these common regular expressions
symbols: /[=><:@\^&|+\-*\/\^%]+/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_][\w]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/'/, "string.invalid"],
[/\#\d+/, "string"]
],
/* */
comment: [
[/[^\(\*]+/, "comment"],
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
[/\*\)/, "comment", "@pop"],
[/\(\*/, "comment"]
],
string: [
[/[^\\']+/, "string"],
[/\\./, "string.escape.invalid"],
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\(\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+764
View File
@@ -0,0 +1,764 @@
define("vs/clojure-DyYtgmYv", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: ";;"
},
brackets: [
["[", "]"],
["(", ")"],
["{", "}"]
],
autoClosingPairs: [
{ open: "[", close: "]" },
{ open: '"', close: '"' },
{ open: "(", close: ")" },
{ open: "{", close: "}" }
],
surroundingPairs: [
{ open: "[", close: "]" },
{ open: '"', close: '"' },
{ open: "(", close: ")" },
{ open: "{", close: "}" }
]
};
const language = {
defaultToken: "",
ignoreCase: true,
tokenPostfix: ".clj",
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "{", close: "}", token: "delimiter.curly" }
],
constants: ["true", "false", "nil"],
// delimiters: /[\\\[\]\s"#'(),;@^`{}~]|$/,
numbers: /^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,
characters: /^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,
escapes: /^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// simple-namespace := /^[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*/
// simple-symbol := /^(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)/
// qualified-symbol := (<simple-namespace>(<.><simple-namespace>)*</>)?<simple-symbol>
qualifiedSymbols: /^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,
specialForms: [
".",
"catch",
"def",
"do",
"if",
"monitor-enter",
"monitor-exit",
"new",
"quote",
"recur",
"set!",
"throw",
"try",
"var"
],
coreSymbols: [
"*",
"*'",
"*1",
"*2",
"*3",
"*agent*",
"*allow-unresolved-vars*",
"*assert*",
"*clojure-version*",
"*command-line-args*",
"*compile-files*",
"*compile-path*",
"*compiler-options*",
"*data-readers*",
"*default-data-reader-fn*",
"*e",
"*err*",
"*file*",
"*flush-on-newline*",
"*fn-loader*",
"*in*",
"*math-context*",
"*ns*",
"*out*",
"*print-dup*",
"*print-length*",
"*print-level*",
"*print-meta*",
"*print-namespace-maps*",
"*print-readably*",
"*read-eval*",
"*reader-resolver*",
"*source-path*",
"*suppress-read*",
"*unchecked-math*",
"*use-context-classloader*",
"*verbose-defrecords*",
"*warn-on-reflection*",
"+",
"+'",
"-",
"-'",
"->",
"->>",
"->ArrayChunk",
"->Eduction",
"->Vec",
"->VecNode",
"->VecSeq",
"-cache-protocol-fn",
"-reset-methods",
"..",
"/",
"<",
"<=",
"=",
"==",
">",
">=",
"EMPTY-NODE",
"Inst",
"StackTraceElement->vec",
"Throwable->map",
"accessor",
"aclone",
"add-classpath",
"add-watch",
"agent",
"agent-error",
"agent-errors",
"aget",
"alength",
"alias",
"all-ns",
"alter",
"alter-meta!",
"alter-var-root",
"amap",
"ancestors",
"and",
"any?",
"apply",
"areduce",
"array-map",
"as->",
"aset",
"aset-boolean",
"aset-byte",
"aset-char",
"aset-double",
"aset-float",
"aset-int",
"aset-long",
"aset-short",
"assert",
"assoc",
"assoc!",
"assoc-in",
"associative?",
"atom",
"await",
"await-for",
"await1",
"bases",
"bean",
"bigdec",
"bigint",
"biginteger",
"binding",
"bit-and",
"bit-and-not",
"bit-clear",
"bit-flip",
"bit-not",
"bit-or",
"bit-set",
"bit-shift-left",
"bit-shift-right",
"bit-test",
"bit-xor",
"boolean",
"boolean-array",
"boolean?",
"booleans",
"bound-fn",
"bound-fn*",
"bound?",
"bounded-count",
"butlast",
"byte",
"byte-array",
"bytes",
"bytes?",
"case",
"cast",
"cat",
"char",
"char-array",
"char-escape-string",
"char-name-string",
"char?",
"chars",
"chunk",
"chunk-append",
"chunk-buffer",
"chunk-cons",
"chunk-first",
"chunk-next",
"chunk-rest",
"chunked-seq?",
"class",
"class?",
"clear-agent-errors",
"clojure-version",
"coll?",
"comment",
"commute",
"comp",
"comparator",
"compare",
"compare-and-set!",
"compile",
"complement",
"completing",
"concat",
"cond",
"cond->",
"cond->>",
"condp",
"conj",
"conj!",
"cons",
"constantly",
"construct-proxy",
"contains?",
"count",
"counted?",
"create-ns",
"create-struct",
"cycle",
"dec",
"dec'",
"decimal?",
"declare",
"dedupe",
"default-data-readers",
"definline",
"definterface",
"defmacro",
"defmethod",
"defmulti",
"defn",
"defn-",
"defonce",
"defprotocol",
"defrecord",
"defstruct",
"deftype",
"delay",
"delay?",
"deliver",
"denominator",
"deref",
"derive",
"descendants",
"destructure",
"disj",
"disj!",
"dissoc",
"dissoc!",
"distinct",
"distinct?",
"doall",
"dorun",
"doseq",
"dosync",
"dotimes",
"doto",
"double",
"double-array",
"double?",
"doubles",
"drop",
"drop-last",
"drop-while",
"eduction",
"empty",
"empty?",
"ensure",
"ensure-reduced",
"enumeration-seq",
"error-handler",
"error-mode",
"eval",
"even?",
"every-pred",
"every?",
"ex-data",
"ex-info",
"extend",
"extend-protocol",
"extend-type",
"extenders",
"extends?",
"false?",
"ffirst",
"file-seq",
"filter",
"filterv",
"find",
"find-keyword",
"find-ns",
"find-protocol-impl",
"find-protocol-method",
"find-var",
"first",
"flatten",
"float",
"float-array",
"float?",
"floats",
"flush",
"fn",
"fn?",
"fnext",
"fnil",
"for",
"force",
"format",
"frequencies",
"future",
"future-call",
"future-cancel",
"future-cancelled?",
"future-done?",
"future?",
"gen-class",
"gen-interface",
"gensym",
"get",
"get-in",
"get-method",
"get-proxy-class",
"get-thread-bindings",
"get-validator",
"group-by",
"halt-when",
"hash",
"hash-combine",
"hash-map",
"hash-ordered-coll",
"hash-set",
"hash-unordered-coll",
"ident?",
"identical?",
"identity",
"if-let",
"if-not",
"if-some",
"ifn?",
"import",
"in-ns",
"inc",
"inc'",
"indexed?",
"init-proxy",
"inst-ms",
"inst-ms*",
"inst?",
"instance?",
"int",
"int-array",
"int?",
"integer?",
"interleave",
"intern",
"interpose",
"into",
"into-array",
"ints",
"io!",
"isa?",
"iterate",
"iterator-seq",
"juxt",
"keep",
"keep-indexed",
"key",
"keys",
"keyword",
"keyword?",
"last",
"lazy-cat",
"lazy-seq",
"let",
"letfn",
"line-seq",
"list",
"list*",
"list?",
"load",
"load-file",
"load-reader",
"load-string",
"loaded-libs",
"locking",
"long",
"long-array",
"longs",
"loop",
"macroexpand",
"macroexpand-1",
"make-array",
"make-hierarchy",
"map",
"map-entry?",
"map-indexed",
"map?",
"mapcat",
"mapv",
"max",
"max-key",
"memfn",
"memoize",
"merge",
"merge-with",
"meta",
"method-sig",
"methods",
"min",
"min-key",
"mix-collection-hash",
"mod",
"munge",
"name",
"namespace",
"namespace-munge",
"nat-int?",
"neg-int?",
"neg?",
"newline",
"next",
"nfirst",
"nil?",
"nnext",
"not",
"not-any?",
"not-empty",
"not-every?",
"not=",
"ns",
"ns-aliases",
"ns-imports",
"ns-interns",
"ns-map",
"ns-name",
"ns-publics",
"ns-refers",
"ns-resolve",
"ns-unalias",
"ns-unmap",
"nth",
"nthnext",
"nthrest",
"num",
"number?",
"numerator",
"object-array",
"odd?",
"or",
"parents",
"partial",
"partition",
"partition-all",
"partition-by",
"pcalls",
"peek",
"persistent!",
"pmap",
"pop",
"pop!",
"pop-thread-bindings",
"pos-int?",
"pos?",
"pr",
"pr-str",
"prefer-method",
"prefers",
"primitives-classnames",
"print",
"print-ctor",
"print-dup",
"print-method",
"print-simple",
"print-str",
"printf",
"println",
"println-str",
"prn",
"prn-str",
"promise",
"proxy",
"proxy-call-with-super",
"proxy-mappings",
"proxy-name",
"proxy-super",
"push-thread-bindings",
"pvalues",
"qualified-ident?",
"qualified-keyword?",
"qualified-symbol?",
"quot",
"rand",
"rand-int",
"rand-nth",
"random-sample",
"range",
"ratio?",
"rational?",
"rationalize",
"re-find",
"re-groups",
"re-matcher",
"re-matches",
"re-pattern",
"re-seq",
"read",
"read-line",
"read-string",
"reader-conditional",
"reader-conditional?",
"realized?",
"record?",
"reduce",
"reduce-kv",
"reduced",
"reduced?",
"reductions",
"ref",
"ref-history-count",
"ref-max-history",
"ref-min-history",
"ref-set",
"refer",
"refer-clojure",
"reify",
"release-pending-sends",
"rem",
"remove",
"remove-all-methods",
"remove-method",
"remove-ns",
"remove-watch",
"repeat",
"repeatedly",
"replace",
"replicate",
"require",
"reset!",
"reset-meta!",
"reset-vals!",
"resolve",
"rest",
"restart-agent",
"resultset-seq",
"reverse",
"reversible?",
"rseq",
"rsubseq",
"run!",
"satisfies?",
"second",
"select-keys",
"send",
"send-off",
"send-via",
"seq",
"seq?",
"seqable?",
"seque",
"sequence",
"sequential?",
"set",
"set-agent-send-executor!",
"set-agent-send-off-executor!",
"set-error-handler!",
"set-error-mode!",
"set-validator!",
"set?",
"short",
"short-array",
"shorts",
"shuffle",
"shutdown-agents",
"simple-ident?",
"simple-keyword?",
"simple-symbol?",
"slurp",
"some",
"some->",
"some->>",
"some-fn",
"some?",
"sort",
"sort-by",
"sorted-map",
"sorted-map-by",
"sorted-set",
"sorted-set-by",
"sorted?",
"special-symbol?",
"spit",
"split-at",
"split-with",
"str",
"string?",
"struct",
"struct-map",
"subs",
"subseq",
"subvec",
"supers",
"swap!",
"swap-vals!",
"symbol",
"symbol?",
"sync",
"tagged-literal",
"tagged-literal?",
"take",
"take-last",
"take-nth",
"take-while",
"test",
"the-ns",
"thread-bound?",
"time",
"to-array",
"to-array-2d",
"trampoline",
"transduce",
"transient",
"tree-seq",
"true?",
"type",
"unchecked-add",
"unchecked-add-int",
"unchecked-byte",
"unchecked-char",
"unchecked-dec",
"unchecked-dec-int",
"unchecked-divide-int",
"unchecked-double",
"unchecked-float",
"unchecked-inc",
"unchecked-inc-int",
"unchecked-int",
"unchecked-long",
"unchecked-multiply",
"unchecked-multiply-int",
"unchecked-negate",
"unchecked-negate-int",
"unchecked-remainder-int",
"unchecked-short",
"unchecked-subtract",
"unchecked-subtract-int",
"underive",
"unquote",
"unquote-splicing",
"unreduced",
"unsigned-bit-shift-right",
"update",
"update-in",
"update-proxy",
"uri?",
"use",
"uuid?",
"val",
"vals",
"var-get",
"var-set",
"var?",
"vary-meta",
"vec",
"vector",
"vector-of",
"vector?",
"volatile!",
"volatile?",
"vreset!",
"vswap!",
"when",
"when-first",
"when-let",
"when-not",
"when-some",
"while",
"with-bindings",
"with-bindings*",
"with-in-str",
"with-loading-context",
"with-local-vars",
"with-meta",
"with-open",
"with-out-str",
"with-precision",
"with-redefs",
"with-redefs-fn",
"xml-seq",
"zero?",
"zipmap"
],
tokenizer: {
root: [
// whitespaces and comments
{ include: "@whitespace" },
// numbers
[/@numbers/, "number"],
// characters
[/@characters/, "string"],
// strings
{ include: "@string" },
// brackets
[/[()\[\]{}]/, "@brackets"],
// regular expressions
[/\/#"(?:\.|(?:")|[^"\n])*"\/g/, "regexp"],
// reader macro characters
[/[#'@^`~]/, "meta"],
// symbols
[
/@qualifiedSymbols/,
{
cases: {
"^:.+$": "constant",
// Clojure keywords (e.g., `:foo/bar`)
"@specialForms": "keyword",
"@coreSymbols": "keyword",
"@constants": "constant",
"@default": "identifier"
}
}
]
],
whitespace: [
[/[\s,]+/, "white"],
[/;.*$/, "comment"],
[/\(comment\b/, "comment", "@comment"]
],
comment: [
[/\(/, "comment", "@push"],
[/\)/, "comment", "@pop"],
[/[^()]/, "comment"]
],
string: [[/"/, "string", "@multiLineString"]],
multiLineString: [
[/"/, "string", "@popall"],
[/@escapes/, "string.escape"],
[/./, "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+235
View File
@@ -0,0 +1,235 @@
define("vs/coffee-C8bOs6Uz", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
blockComment: ["###", "###"],
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
const language = {
defaultToken: "",
ignoreCase: true,
tokenPostfix: ".coffee",
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,
keywords: [
"and",
"or",
"is",
"isnt",
"not",
"on",
"yes",
"@",
"no",
"off",
"true",
"false",
"null",
"this",
"new",
"delete",
"typeof",
"in",
"instanceof",
"return",
"throw",
"break",
"continue",
"debugger",
"if",
"else",
"switch",
"for",
"while",
"do",
"try",
"catch",
"finally",
"class",
"extends",
"super",
"undefined",
"then",
"unless",
"until",
"loop",
"of",
"by",
"when"
],
// we include these common regular expressions
symbols: /[=><!~?&%|+\-*\/\^\.,\:]+/,
escapes: /\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[/\@[a-zA-Z_]\w*/, "variable.predefined"],
[
/[a-zA-Z_]\w*/,
{
cases: {
this: "variable.predefined",
"@keywords": { token: "keyword.$0" },
"@default": ""
}
}
],
// whitespace
[/[ \t\r\n]+/, ""],
// Comments
[/###/, "comment", "@comment"],
[/#.*$/, "comment"],
// regular expressions
["///", { token: "regexp", next: "@hereregexp" }],
[/^(\s*)(@regEx)/, ["", "regexp"]],
[/(\()(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
[/(\,)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\=)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\:)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\[)(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
[/(\!)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\&)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\|)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\?)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\{)(\s*)(@regEx)/, ["@brackets", "", "regexp"]],
[/(\;)(\s*)(@regEx)/, ["", "", "regexp"]],
// delimiters
[
/}/,
{
cases: {
"$S2==interpolatedstring": {
token: "string",
next: "@pop"
},
"@default": "@brackets"
}
}
],
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d+[eE]([\-+]?\d+)?/, "number.float"],
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/0[0-7]+(?!\d)/, "number.octal"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[,.]/, "delimiter"],
// strings:
[/"""/, "string", '@herestring."""'],
[/'''/, "string", "@herestring.'''"],
[
/"/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: '@string."' }
}
}
],
[
/'/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: "@string.'" }
}
}
]
],
string: [
[/[^"'\#\\]+/, "string"],
[/@escapes/, "string.escape"],
[/\./, "string.escape.invalid"],
[/\./, "string.escape.invalid"],
[
/#{/,
{
cases: {
'$S2=="': {
token: "string",
next: "root.interpolatedstring"
},
"@default": "string"
}
}
],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/#/, "string"]
],
herestring: [
[
/("""|''')/,
{
cases: {
"$1==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/[^#\\'"]+/, "string"],
[/['"]+/, "string"],
[/@escapes/, "string.escape"],
[/\./, "string.escape.invalid"],
[/#{/, { token: "string.quote", next: "root.interpolatedstring" }],
[/#/, "string"]
],
comment: [
[/[^#]+/, "comment"],
[/###/, "comment", "@pop"],
[/#/, "comment"]
],
hereregexp: [
[/[^\\\/#]+/, "regexp"],
[/\\./, "regexp"],
[/#.*$/, "comment"],
["///[igm]*", { token: "regexp", next: "@pop" }],
[/\//, "regexp"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+392
View File
@@ -0,0 +1,392 @@
define("vs/cpp-9dJI961u", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "[", close: "]" },
{ open: "{", close: "}" },
{ open: "(", close: ")" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*#pragma\\s+region\\b"),
end: new RegExp("^\\s*#pragma\\s+endregion\\b")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".cpp",
brackets: [
{ token: "delimiter.curly", open: "{", close: "}" },
{ token: "delimiter.parenthesis", open: "(", close: ")" },
{ token: "delimiter.square", open: "[", close: "]" },
{ token: "delimiter.angle", open: "<", close: ">" }
],
keywords: [
"abstract",
"amp",
"array",
"auto",
"bool",
"break",
"case",
"catch",
"char",
"class",
"const",
"constexpr",
"const_cast",
"continue",
"cpu",
"decltype",
"default",
"delegate",
"delete",
"do",
"double",
"dynamic_cast",
"each",
"else",
"enum",
"event",
"explicit",
"export",
"extern",
"false",
"final",
"finally",
"float",
"for",
"friend",
"gcnew",
"generic",
"goto",
"if",
"in",
"initonly",
"inline",
"int",
"interface",
"interior_ptr",
"internal",
"literal",
"long",
"mutable",
"namespace",
"new",
"noexcept",
"nullptr",
"__nullptr",
"operator",
"override",
"partial",
"pascal",
"pin_ptr",
"private",
"property",
"protected",
"public",
"ref",
"register",
"reinterpret_cast",
"restrict",
"return",
"safe_cast",
"sealed",
"short",
"signed",
"sizeof",
"static",
"static_assert",
"static_cast",
"struct",
"switch",
"template",
"this",
"thread_local",
"throw",
"tile_static",
"true",
"try",
"typedef",
"typeid",
"typename",
"union",
"unsigned",
"using",
"virtual",
"void",
"volatile",
"wchar_t",
"where",
"while",
"_asm",
// reserved word with one underscores
"_based",
"_cdecl",
"_declspec",
"_fastcall",
"_if_exists",
"_if_not_exists",
"_inline",
"_multiple_inheritance",
"_pascal",
"_single_inheritance",
"_stdcall",
"_virtual_inheritance",
"_w64",
"__abstract",
// reserved word with two underscores
"__alignof",
"__asm",
"__assume",
"__based",
"__box",
"__builtin_alignof",
"__cdecl",
"__clrcall",
"__declspec",
"__delegate",
"__event",
"__except",
"__fastcall",
"__finally",
"__forceinline",
"__gc",
"__hook",
"__identifier",
"__if_exists",
"__if_not_exists",
"__inline",
"__int128",
"__int16",
"__int32",
"__int64",
"__int8",
"__interface",
"__leave",
"__m128",
"__m128d",
"__m128i",
"__m256",
"__m256d",
"__m256i",
"__m512",
"__m512d",
"__m512i",
"__m64",
"__multiple_inheritance",
"__newslot",
"__nogc",
"__noop",
"__nounwind",
"__novtordisp",
"__pascal",
"__pin",
"__pragma",
"__property",
"__ptr32",
"__ptr64",
"__raise",
"__restrict",
"__resume",
"__sealed",
"__single_inheritance",
"__stdcall",
"__super",
"__thiscall",
"__try",
"__try_cast",
"__typeof",
"__unaligned",
"__unhook",
"__uuidof",
"__value",
"__virtual_inheritance",
"__w64",
"__wchar_t"
],
operators: [
"=",
">",
"<",
"!",
"~",
"?",
":",
"==",
"<=",
">=",
"!=",
"&&",
"||",
"++",
"--",
"+",
"-",
"*",
"/",
"&",
"|",
"^",
"%",
"<<",
">>",
"+=",
"-=",
"*=",
"/=",
"&=",
"|=",
"^=",
"%=",
"<<=",
">>="
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
integersuffix: /([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,
floatsuffix: /[fFlL]?/,
encoding: /u|u8|U|L/,
// The main tokenizer for our languages
tokenizer: {
root: [
// C++ 11 Raw String
[/@encoding?R\"(?:([^ ()\\\t]*))\(/, { token: "string.raw.begin", next: "@raw.$1" }],
// identifiers and keywords
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// The preprocessor checks must be before whitespace as they check /^\s*#/ which
// otherwise fails to match later after other whitespace has been removed.
// Inclusion
[/^\s*#\s*include/, { token: "keyword.directive.include", next: "@include" }],
// Preprocessor directive
[/^\s*#\s*\w+/, "keyword.directive"],
// whitespace
{ include: "@whitespace" },
// [[ attributes ]].
[/\[\s*\[/, { token: "annotation", next: "@annotation" }],
// delimiters and operators
[/[{}()<>\[\]]/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"],
[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"],
[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, "number.hex"],
[/0[0-7']*[0-7](@integersuffix)/, "number.octal"],
[/0[bB][0-1']*[0-1](@integersuffix)/, "number.binary"],
[/\d[\d']*\d(@integersuffix)/, "number"],
[/\d(@integersuffix)/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@doccomment"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*\\$/, "comment", "@linecomment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
//For use with continuous line comments
linecomment: [
[/.*[^\\]$/, "comment", "@pop"],
[/[^]+/, "comment"]
],
//Identical copy of comment above, except for the addition of .doc
doccomment: [
[/[^\/*]+/, "comment.doc"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
],
raw: [
[/[^)]+/, "string.raw"],
[/\)$S2\"/, { token: "string.raw.end", next: "@pop" }],
[/\)/, "string.raw"]
],
annotation: [
{ include: "@whitespace" },
[/using|alignas/, "keyword"],
[/[a-zA-Z0-9_]+/, "annotation"],
[/[,:]/, "delimiter"],
[/[()]/, "@brackets"],
[/\]\s*\]/, { token: "annotation", next: "@pop" }]
],
include: [
[
/(\s*)(<)([^<>]*)(>)/,
[
"",
"keyword.directive.include.begin",
"string.include.identifier",
{ token: "keyword.directive.include.end", next: "@pop" }
]
],
[
/(\s*)(")([^"]*)(")/,
[
"",
"keyword.directive.include.begin",
"string.include.identifier",
{ token: "keyword.directive.include.end", next: "@pop" }
]
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+329
View File
@@ -0,0 +1,329 @@
define("vs/csharp-NZNtYXm3", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" },
{ open: '"', close: '"' }
],
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".cs",
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
keywords: [
"extern",
"alias",
"using",
"bool",
"decimal",
"sbyte",
"byte",
"short",
"ushort",
"int",
"uint",
"long",
"ulong",
"char",
"float",
"double",
"object",
"dynamic",
"string",
"assembly",
"is",
"as",
"ref",
"out",
"this",
"base",
"new",
"typeof",
"void",
"checked",
"unchecked",
"default",
"delegate",
"var",
"const",
"if",
"else",
"switch",
"case",
"while",
"do",
"for",
"foreach",
"in",
"break",
"continue",
"goto",
"return",
"throw",
"try",
"catch",
"finally",
"lock",
"yield",
"from",
"let",
"where",
"join",
"on",
"equals",
"into",
"orderby",
"ascending",
"descending",
"select",
"group",
"by",
"namespace",
"partial",
"class",
"field",
"event",
"method",
"param",
"public",
"protected",
"internal",
"private",
"abstract",
"sealed",
"static",
"struct",
"readonly",
"volatile",
"virtual",
"override",
"params",
"get",
"set",
"add",
"remove",
"operator",
"true",
"false",
"implicit",
"explicit",
"interface",
"enum",
"null",
"async",
"await",
"fixed",
"sizeof",
"stackalloc",
"unsafe",
"nameof",
"when"
],
namespaceFollows: ["namespace", "using"],
parenFollows: ["if", "for", "while", "switch", "foreach", "using", "catch", "when"],
operators: [
"=",
"??",
"||",
"&&",
"|",
"^",
"&",
"==",
"!=",
"<=",
">=",
"<<",
"+",
"-",
"*",
"/",
"%",
"!",
"~",
"++",
"--",
"+=",
"-=",
"*=",
"/=",
"%=",
"&=",
"|=",
"^=",
"<<=",
">>=",
">>",
"=>"
],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
// escape sequences
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/\@?[a-zA-Z_]\w*/,
{
cases: {
"@namespaceFollows": {
token: "keyword.$0",
next: "@namespace"
},
"@keywords": {
token: "keyword.$0",
next: "@qualified"
},
"@default": { token: "identifier", next: "@qualified" }
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[
/}/,
{
cases: {
"$S2==interpolatedstring": {
token: "string.quote",
next: "@pop"
},
"$S2==litinterpstring": {
token: "string.quote",
next: "@pop"
},
"@default": "@brackets"
}
}
],
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/, "number.float"],
[/0[xX][0-9a-fA-F_]+/, "number.hex"],
[/0[bB][01_]+/, "number.hex"],
// binary: use same theme style as hex
[/[0-9_]+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, { token: "string.quote", next: "@string" }],
[/\$\@"/, { token: "string.quote", next: "@litinterpstring" }],
[/\@"/, { token: "string.quote", next: "@litstring" }],
[/\$"/, { token: "string.quote", next: "@interpolatedstring" }],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
qualified: [
[
/[a-zA-Z_][\w]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
[/\./, "delimiter"],
["", "", "@pop"]
],
namespace: [
{ include: "@whitespace" },
[/[A-Z]\w*/, "namespace"],
[/[\.=]/, "delimiter"],
["", "", "@pop"]
],
comment: [
[/[^\/*]+/, "comment"],
// [/\/\*/, 'comment', '@push' ], // no nested comments :-(
["\\*/", "comment", "@pop"],
[/[\/*]/, "comment"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, { token: "string.quote", next: "@pop" }]
],
litstring: [
[/[^"]+/, "string"],
[/""/, "string.escape"],
[/"/, { token: "string.quote", next: "@pop" }]
],
litinterpstring: [
[/[^"{]+/, "string"],
[/""/, "string.escape"],
[/{{/, "string.escape"],
[/}}/, "string.escape"],
[/{/, { token: "string.quote", next: "root.litinterpstring" }],
[/"/, { token: "string.quote", next: "@pop" }]
],
interpolatedstring: [
[/[^\\"{]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/{{/, "string.escape"],
[/}}/, "string.escape"],
[/{/, { token: "string.quote", next: "root.interpolatedstring" }],
[/"/, { token: "string.quote", next: "@pop" }]
],
whitespace: [
[/^[ \t\v\f]*#((r)|(load))(?=\s)/, "directive.csx"],
[/^[ \t\v\f]*#\w.*$/, "namespace.cpp"],
[/[ \t\v\f\r\n]+/, ""],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+56
View File
@@ -0,0 +1,56 @@
define("vs/csp-CtMdzNMY", ["exports"], (function(exports) {
"use strict";
const conf = {
brackets: [],
autoClosingPairs: [],
surroundingPairs: []
};
const language = {
// Set defaultToken to invalid to see what you do not tokenize yet
// defaultToken: 'invalid',
keywords: [],
typeKeywords: [],
tokenPostfix: ".csp",
operators: [],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
tokenizer: {
root: [
[/child-src/, "string.quote"],
[/connect-src/, "string.quote"],
[/default-src/, "string.quote"],
[/font-src/, "string.quote"],
[/frame-src/, "string.quote"],
[/img-src/, "string.quote"],
[/manifest-src/, "string.quote"],
[/media-src/, "string.quote"],
[/object-src/, "string.quote"],
[/script-src/, "string.quote"],
[/style-src/, "string.quote"],
[/worker-src/, "string.quote"],
[/base-uri/, "string.quote"],
[/plugin-types/, "string.quote"],
[/sandbox/, "string.quote"],
[/disown-opener/, "string.quote"],
[/form-action/, "string.quote"],
[/frame-ancestors/, "string.quote"],
[/report-uri/, "string.quote"],
[/report-to/, "string.quote"],
[/upgrade-insecure-requests/, "string.quote"],
[/block-all-mixed-content/, "string.quote"],
[/require-sri-for/, "string.quote"],
[/reflected-xss/, "string.quote"],
[/referrer/, "string.quote"],
[/policy-uri/, "string.quote"],
[/'self'/, "string.quote"],
[/'unsafe-inline'/, "string.quote"],
[/'unsafe-eval'/, "string.quote"],
[/'strict-dynamic'/, "string.quote"],
[/'unsafe-hashed-attributes'/, "string.quote"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+188
View File
@@ -0,0 +1,188 @@
define("vs/css-t68wsr0f", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,
comments: {
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}", notIn: ["string", "comment"] },
{ open: "[", close: "]", notIn: ["string", "comment"] },
{ open: "(", close: ")", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".css",
ws: "[ \n\r\f]*",
// whitespaces (referenced in several rules)
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
brackets: [
{ open: "{", close: "}", token: "delimiter.bracket" },
{ open: "[", close: "]", token: "delimiter.bracket" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
tokenizer: {
root: [{ include: "@selector" }],
selector: [
{ include: "@comments" },
{ include: "@import" },
{ include: "@strings" },
[
"[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",
{ token: "keyword", next: "@keyframedeclaration" }
],
["[@](page|content|font-face|-moz-document)", { token: "keyword" }],
["[@](charset|namespace)", { token: "keyword", next: "@declarationbody" }],
[
"(url-prefix)(\\()",
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
],
[
"(url)(\\()",
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
],
{ include: "@selectorname" },
["[\\*]", "tag"],
// selector symbols
["[>\\+,]", "delimiter"],
// selector operators
["\\[", { token: "delimiter.bracket", next: "@selectorattribute" }],
["{", { token: "delimiter.bracket", next: "@selectorbody" }]
],
selectorbody: [
{ include: "@comments" },
["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))", "attribute.name", "@rulevalue"],
// rule definition: to distinguish from a nested selector check for whitespace, number or a semicolon
["}", { token: "delimiter.bracket", next: "@pop" }]
],
selectorname: [
["(\\.|#(?=[^{])|%|(@identifier)|:)+", "tag"]
// selector (.foo, div, ...)
],
selectorattribute: [{ include: "@term" }, ["]", { token: "delimiter.bracket", next: "@pop" }]],
term: [
{ include: "@comments" },
[
"(url-prefix)(\\()",
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
],
[
"(url)(\\()",
["attribute.value", { token: "delimiter.parenthesis", next: "@urldeclaration" }]
],
{ include: "@functioninvocation" },
{ include: "@numbers" },
{ include: "@name" },
{ include: "@strings" },
["([<>=\\+\\-\\*\\/\\^\\|\\~,])", "delimiter"],
[",", "delimiter"]
],
rulevalue: [
{ include: "@comments" },
{ include: "@strings" },
{ include: "@term" },
["!important", "keyword"],
[";", "delimiter", "@pop"],
["(?=})", { token: "", next: "@pop" }]
// missing semicolon
],
warndebug: [["[@](warn|debug)", { token: "keyword", next: "@declarationbody" }]],
import: [["[@](import)", { token: "keyword", next: "@declarationbody" }]],
urldeclaration: [
{ include: "@strings" },
["[^)\r\n]+", "string"],
["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
],
parenthizedterm: [
{ include: "@term" },
["\\)", { token: "delimiter.parenthesis", next: "@pop" }]
],
declarationbody: [
{ include: "@term" },
[";", "delimiter", "@pop"],
["(?=})", { token: "", next: "@pop" }]
// missing semicolon
],
comments: [
["\\/\\*", "comment", "@comment"],
["\\/\\/+.*", "comment"]
],
comment: [
["\\*\\/", "comment", "@pop"],
[/[^*/]+/, "comment"],
[/./, "comment"]
],
name: [["@identifier", "attribute.value"]],
numbers: [
["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "attribute.value.number", next: "@units" }],
["#[0-9a-fA-F_]+(?!\\w)", "attribute.value.hex"]
],
units: [
[
"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
"attribute.value.unit",
"@pop"
]
],
keyframedeclaration: [
["@identifier", "attribute.value"],
["{", { token: "delimiter.bracket", switchTo: "@keyframebody" }]
],
keyframebody: [
{ include: "@term" },
["{", { token: "delimiter.bracket", next: "@selectorbody" }],
["}", { token: "delimiter.bracket", next: "@pop" }]
],
functioninvocation: [
["@identifier\\(", { token: "attribute.value", next: "@functionarguments" }]
],
functionarguments: [
["\\$@identifier@ws:", "attribute.name"],
["[,]", "delimiter"],
{ include: "@term" },
["\\)", { token: "attribute.value", next: "@pop" }]
],
strings: [
['~?"', { token: "string", next: "@stringenddoublequote" }],
["~?'", { token: "string", next: "@stringendquote" }]
],
stringenddoublequote: [
["\\\\.", "string"],
['"', { token: "string", next: "@pop" }],
[/[^\\"]+/, "string"],
[".", "string"]
],
stringendquote: [
["\\\\.", "string"],
["'", { token: "string", next: "@pop" }],
[/[^\\']+/, "string"],
[".", "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+207
View File
@@ -0,0 +1,207 @@
define("vs/cssMode-Cakukknl", ["module", "exports", "./workers-p6mTW5Va", "./lspLanguageFeatures-BnY_dL8Y", "./editor.api-CykLys8L"], (function(module, exports, workers, lspLanguageFeatures, editor_api) {
"use strict";
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
class WorkerManager {
constructor(defaults) {
this._defaults = defaults;
this._worker = null;
this._client = null;
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
this._lastUsedTime = 0;
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
}
_stopWorker() {
if (this._worker) {
this._worker.dispose();
this._worker = null;
}
this._client = null;
}
dispose() {
clearInterval(this._idleCheckInterval);
this._configChangeListener.dispose();
this._stopWorker();
}
_checkIfIdle() {
if (!this._worker) {
return;
}
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
this._stopWorker();
}
}
_getClient() {
this._lastUsedTime = Date.now();
if (!this._client) {
this._worker = workers.createWebWorker({
// module that exports the create() method and returns a `CSSWorker` instance
moduleId: "vs/language/css/cssWorker",
createWorker: () => new Worker(new URL(
/* @vite-ignore */
"" + new URL(require.toUrl("./assets/css.worker-CgWp-mpq.js"), document.baseURI).href,
new URL(module.uri, document.baseURI).href
), { type: "module" }),
label: this._defaults.languageId,
// passed in to the create() method
createData: {
options: this._defaults.options,
languageId: this._defaults.languageId
}
});
this._client = this._worker.getProxy();
}
return this._client;
}
getLanguageServiceWorker(...resources) {
let _client;
return this._getClient().then((client) => {
_client = client;
}).then((_) => {
if (this._worker) {
return this._worker.withSyncedResources(resources);
}
}).then((_) => _client);
}
}
function setupMode(defaults) {
const disposables = [];
const providers = [];
const client = new WorkerManager(defaults);
disposables.push(client);
const worker = (...uris) => {
return client.getLanguageServiceWorker(...uris);
};
function registerProviders() {
const { languageId, modeConfiguration } = defaults;
disposeAll(providers);
if (modeConfiguration.completionItems) {
providers.push(
editor_api.languages.registerCompletionItemProvider(
languageId,
new lspLanguageFeatures.CompletionAdapter(worker, ["/", "-", ":"])
)
);
}
if (modeConfiguration.hovers) {
providers.push(
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
);
}
if (modeConfiguration.documentHighlights) {
providers.push(
editor_api.languages.registerDocumentHighlightProvider(
languageId,
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
)
);
}
if (modeConfiguration.definitions) {
providers.push(
editor_api.languages.registerDefinitionProvider(
languageId,
new lspLanguageFeatures.DefinitionAdapter(worker)
)
);
}
if (modeConfiguration.references) {
providers.push(
editor_api.languages.registerReferenceProvider(
languageId,
new lspLanguageFeatures.ReferenceAdapter(worker)
)
);
}
if (modeConfiguration.documentSymbols) {
providers.push(
editor_api.languages.registerDocumentSymbolProvider(
languageId,
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
)
);
}
if (modeConfiguration.rename) {
providers.push(
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker))
);
}
if (modeConfiguration.colors) {
providers.push(
editor_api.languages.registerColorProvider(
languageId,
new lspLanguageFeatures.DocumentColorAdapter(worker)
)
);
}
if (modeConfiguration.foldingRanges) {
providers.push(
editor_api.languages.registerFoldingRangeProvider(
languageId,
new lspLanguageFeatures.FoldingRangeAdapter(worker)
)
);
}
if (modeConfiguration.diagnostics) {
providers.push(
new lspLanguageFeatures.DiagnosticsAdapter(languageId, worker, defaults.onDidChange)
);
}
if (modeConfiguration.selectionRanges) {
providers.push(
editor_api.languages.registerSelectionRangeProvider(
languageId,
new lspLanguageFeatures.SelectionRangeAdapter(worker)
)
);
}
if (modeConfiguration.documentFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
)
);
}
if (modeConfiguration.documentRangeFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentRangeFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
)
);
}
}
registerProviders();
disposables.push(asDisposable(providers));
return asDisposable(disposables);
}
function asDisposable(disposables) {
return { dispose: () => disposeAll(disposables) };
}
function disposeAll(disposables) {
while (disposables.length) {
disposables.pop().dispose();
}
}
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
exports.fromPosition = lspLanguageFeatures.fromPosition;
exports.fromRange = lspLanguageFeatures.fromRange;
exports.toRange = lspLanguageFeatures.toRange;
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
exports.WorkerManager = WorkerManager;
exports.setupMode = setupMode;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+266
View File
@@ -0,0 +1,266 @@
define("vs/cypher-DyfRGA23", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "`", close: "`" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "`", close: "`" }
]
};
const language = {
defaultToken: "",
tokenPostfix: `.cypher`,
ignoreCase: true,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.bracket" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
"ALL",
"AND",
"AS",
"ASC",
"ASCENDING",
"BY",
"CALL",
"CASE",
"CONTAINS",
"CREATE",
"DELETE",
"DESC",
"DESCENDING",
"DETACH",
"DISTINCT",
"ELSE",
"END",
"ENDS",
"EXISTS",
"IN",
"IS",
"LIMIT",
"MANDATORY",
"MATCH",
"MERGE",
"NOT",
"ON",
"ON",
"OPTIONAL",
"OR",
"ORDER",
"REMOVE",
"RETURN",
"SET",
"SKIP",
"STARTS",
"THEN",
"UNION",
"UNWIND",
"WHEN",
"WHERE",
"WITH",
"XOR",
"YIELD"
],
builtinLiterals: ["true", "TRUE", "false", "FALSE", "null", "NULL"],
builtinFunctions: [
"abs",
"acos",
"asin",
"atan",
"atan2",
"avg",
"ceil",
"coalesce",
"collect",
"cos",
"cot",
"count",
"degrees",
"e",
"endNode",
"exists",
"exp",
"floor",
"head",
"id",
"keys",
"labels",
"last",
"left",
"length",
"log",
"log10",
"lTrim",
"max",
"min",
"nodes",
"percentileCont",
"percentileDisc",
"pi",
"properties",
"radians",
"rand",
"range",
"relationships",
"replace",
"reverse",
"right",
"round",
"rTrim",
"sign",
"sin",
"size",
"split",
"sqrt",
"startNode",
"stDev",
"stDevP",
"substring",
"sum",
"tail",
"tan",
"timestamp",
"toBoolean",
"toFloat",
"toInteger",
"toLower",
"toString",
"toUpper",
"trim",
"type"
],
operators: [
// Math operators
"+",
"-",
"*",
"/",
"%",
"^",
// Comparison operators
"=",
"<>",
"<",
">",
"<=",
">=",
// Pattern operators
"->",
"<-",
"-->",
"<--"
],
escapes: /\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+/,
octaldigits: /[0-7]+/,
hexdigits: /[0-9a-fA-F]+/,
tokenizer: {
root: [[/[{}[\]()]/, "@brackets"], { include: "common" }],
common: [
{ include: "@whitespace" },
{ include: "@numbers" },
{ include: "@strings" },
// Cypher labels on nodes/relationships, e.g. (n:NodeLabel)-[e:RelationshipLabel]
[/:[a-zA-Z_][\w]*/, "type.identifier"],
[
/[a-zA-Z_][\w]*(?=\()/,
{
cases: {
"@builtinFunctions": "predefined.function"
}
}
],
[
/[a-zA-Z_$][\w$]*/,
{
cases: {
"@keywords": "keyword",
"@builtinLiterals": "predefined.literal",
"@default": "identifier"
}
}
],
[/`/, "identifier.escape", "@identifierBacktick"],
// delimiter and operator after number because of `.\d` floats and `:` in labels
[/[;,.:|]/, "delimiter"],
[
/[<>=%+\-*/^]+/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
]
],
numbers: [
[/-?(@digits)[eE](-?(@digits))?/, "number.float"],
[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/, "number.float"],
[/-?0x(@hexdigits)/, "number.hex"],
[/-?0(@octaldigits)/, "number.octal"],
[/-?(@digits)/, "number"]
],
strings: [
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", "@stringDouble"],
[/'/, "string", "@stringSingle"]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/\/\/.*/, "comment"],
[/[^/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[/*]/, "comment"]
],
stringDouble: [
[/[^\\"]+/, "string"],
[/@escapes/, "string"],
[/\\./, "string.invalid"],
[/"/, "string", "@pop"]
],
stringSingle: [
[/[^\\']+/, "string"],
[/@escapes/, "string"],
[/\\./, "string.invalid"],
[/'/, "string", "@pop"]
],
identifierBacktick: [
[/[^\\`]+/, "identifier.escape"],
[/@escapes/, "identifier.escape"],
[/\\./, "identifier.escape.invalid"],
[/`/, "identifier.escape", "@pop"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+284
View File
@@ -0,0 +1,284 @@
define("vs/dart-eN3E5CF0", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "`", close: "`", notIn: ["string", "comment"] },
{ open: "/**", close: " */", notIn: ["string"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "`", close: "`" }
],
folding: {
markers: {
start: /^\s*\s*#?region\b/,
end: /^\s*\s*#?endregion\b/
}
}
};
const language = {
defaultToken: "invalid",
tokenPostfix: ".dart",
keywords: [
"abstract",
"dynamic",
"implements",
"show",
"as",
"else",
"import",
"static",
"assert",
"enum",
"in",
"super",
"async",
"export",
"interface",
"switch",
"await",
"extends",
"is",
"sync",
"break",
"external",
"library",
"this",
"case",
"factory",
"mixin",
"throw",
"catch",
"false",
"new",
"true",
"class",
"final",
"null",
"try",
"const",
"finally",
"on",
"typedef",
"continue",
"for",
"operator",
"var",
"covariant",
"Function",
"part",
"void",
"default",
"get",
"rethrow",
"while",
"deferred",
"hide",
"return",
"with",
"do",
"if",
"set",
"yield"
],
typeKeywords: ["int", "double", "String", "bool"],
operators: [
"+",
"-",
"*",
"/",
"~/",
"%",
"++",
"--",
"==",
"!=",
">",
"<",
">=",
"<=",
"=",
"-=",
"/=",
"%=",
">>=",
"^=",
"+=",
"*=",
"~/=",
"<<=",
"&=",
"!=",
"||",
"&&",
"&",
"|",
"^",
"~",
"<<",
">>",
"!",
">>>",
"??",
"?",
":",
"|="
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+(_+\d+)*/,
octaldigits: /[0-7]+(_+[0-7]+)*/,
binarydigits: /[0-1]+(_+[0-1]+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,
// The main tokenizer for our languages
tokenizer: {
root: [[/[{}]/, "delimiter.bracket"], { include: "common" }],
common: [
// identifiers and keywords
[
/[a-z_$][\w$]*/,
{
cases: {
"@typeKeywords": "type.identifier",
"@keywords": "keyword",
"@default": "identifier"
}
}
],
[/[A-Z_$][\w\$]*/, "type.identifier"],
// show class names
// [/[A-Z][\w\$]*/, 'identifier'],
// whitespace
{ include: "@whitespace" },
// regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
[
/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,
{ token: "regexp", bracket: "@open", next: "@regexp" }
],
// @ annotations.
[/@[a-zA-Z]+/, "annotation"],
// variable
// delimiters and operators
[/[()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[/!(?=([^=]|$))/, "delimiter"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/(@digits)[eE]([\-+]?(@digits))?/, "number.float"],
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, "number.float"],
[/0[xX](@hexdigits)n?/, "number.hex"],
[/0[oO]?(@octaldigits)n?/, "number.octal"],
[/0[bB](@binarydigits)n?/, "number.binary"],
[/(@digits)n?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", "@string_double"],
[/'/, "string", "@string_single"]
// [/[a-zA-Z]+/, "variable"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@jsdoc"],
[/\/\*/, "comment", "@comment"],
[/\/\/\/.*$/, "comment.doc"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
jsdoc: [
[/[^\/*]+/, "comment.doc"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
// We match regular expression quite precisely
regexp: [
[
/(\{)(\d+(?:,\d*)?)(\})/,
["regexp.escape.control", "regexp.escape.control", "regexp.escape.control"]
],
[
/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,
["regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }]
],
[/(\()(\?:|\?=|\?!)/, ["regexp.escape.control", "regexp.escape.control"]],
[/[()]/, "regexp.escape.control"],
[/@regexpctl/, "regexp.escape.control"],
[/[^\\\/]/, "regexp"],
[/@regexpesc/, "regexp.escape"],
[/\\\./, "regexp.invalid"],
[/(\/)([gimsuy]*)/, [{ token: "regexp", bracket: "@close", next: "@pop" }, "keyword.other"]]
],
regexrange: [
[/-/, "regexp.escape.control"],
[/\^/, "regexp.invalid"],
[/@regexpesc/, "regexp.escape"],
[/[^\]]/, "regexp"],
[
/\]/,
{
token: "regexp.escape.control",
next: "@pop",
bracket: "@close"
}
]
],
string_double: [
[/[^\\"\$]+/, "string"],
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"],
[/\$\w+/, "identifier"]
],
string_single: [
[/[^\\'\$]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/'/, "string", "@pop"],
[/\$\w+/, "identifier"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+133
View File
@@ -0,0 +1,133 @@
define("vs/dockerfile-A7JJbAuF", ["exports"], (function(exports) {
"use strict";
const conf = {
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".dockerfile",
variable: /\${?[\w]+}?/,
tokenizer: {
root: [
{ include: "@whitespace" },
{ include: "@comment" },
[/(ONBUILD)(\s+)/, ["keyword", ""]],
[/(ENV)(\s+)([\w]+)/, ["keyword", "", { token: "variable", next: "@arguments" }]],
[
/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,
{ token: "keyword", next: "@arguments" }
]
],
arguments: [
{ include: "@whitespace" },
{ include: "@strings" },
[
/(@variable)/,
{
cases: {
"@eos": { token: "variable", next: "@popall" },
"@default": "variable"
}
}
],
[
/\\/,
{
cases: {
"@eos": "",
"@default": ""
}
}
],
[
/./,
{
cases: {
"@eos": { token: "", next: "@popall" },
"@default": ""
}
}
]
],
// Deal with white space, including comments
whitespace: [
[
/\s+/,
{
cases: {
"@eos": { token: "", next: "@popall" },
"@default": ""
}
}
]
],
comment: [[/(^#.*$)/, "comment", "@popall"]],
// Recognize strings, including those broken across lines with \ (but not without)
strings: [
[/\\'$/, "", "@popall"],
// \' leaves @arguments at eol
[/\\'/, ""],
// \' is not a string
[/'$/, "string", "@popall"],
[/'/, "string", "@stringBody"],
[/"$/, "string", "@popall"],
[/"/, "string", "@dblStringBody"]
],
stringBody: [
[
/[^\\\$']/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[/\\./, "string.escape"],
[/'$/, "string", "@popall"],
[/'/, "string", "@pop"],
[/(@variable)/, "variable"],
[/\\$/, "string"],
[/$/, "string", "@popall"]
],
dblStringBody: [
[
/[^\\\$"]/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[/\\./, "string.escape"],
[/"$/, "string", "@popall"],
[/"/, "string", "@pop"],
[/(@variable)/, "variable"],
[/\\$/, "string"],
[/$/, "string", "@popall"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+459
View File
@@ -0,0 +1,459 @@
define("vs/ecl-BJgqfLSq", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" },
{ open: '"', close: '"' }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".ecl",
ignoreCase: true,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
pounds: [
"append",
"break",
"declare",
"demangle",
"end",
"for",
"getdatatype",
"if",
"inmodule",
"loop",
"mangle",
"onwarning",
"option",
"set",
"stored",
"uniquename"
].join("|"),
keywords: [
"__compressed__",
"after",
"all",
"and",
"any",
"as",
"atmost",
"before",
"beginc",
"best",
"between",
"case",
"cluster",
"compressed",
"compression",
"const",
"counter",
"csv",
"default",
"descend",
"embed",
"encoding",
"encrypt",
"end",
"endc",
"endembed",
"endmacro",
"enum",
"escape",
"except",
"exclusive",
"expire",
"export",
"extend",
"fail",
"few",
"fileposition",
"first",
"flat",
"forward",
"from",
"full",
"function",
"functionmacro",
"group",
"grouped",
"heading",
"hole",
"ifblock",
"import",
"in",
"inner",
"interface",
"internal",
"joined",
"keep",
"keyed",
"last",
"left",
"limit",
"linkcounted",
"literal",
"little_endian",
"load",
"local",
"locale",
"lookup",
"lzw",
"macro",
"many",
"maxcount",
"maxlength",
"min skew",
"module",
"mofn",
"multiple",
"named",
"namespace",
"nocase",
"noroot",
"noscan",
"nosort",
"not",
"noxpath",
"of",
"onfail",
"only",
"opt",
"or",
"outer",
"overwrite",
"packed",
"partition",
"penalty",
"physicallength",
"pipe",
"prefetch",
"quote",
"record",
"repeat",
"retry",
"return",
"right",
"right1",
"right2",
"rows",
"rowset",
"scan",
"scope",
"self",
"separator",
"service",
"shared",
"skew",
"skip",
"smart",
"soapaction",
"sql",
"stable",
"store",
"terminator",
"thor",
"threshold",
"timelimit",
"timeout",
"token",
"transform",
"trim",
"type",
"unicodeorder",
"unordered",
"unsorted",
"unstable",
"update",
"use",
"validate",
"virtual",
"whole",
"width",
"wild",
"within",
"wnotrim",
"xml",
"xpath"
],
functions: [
"abs",
"acos",
"aggregate",
"allnodes",
"apply",
"ascii",
"asin",
"assert",
"asstring",
"atan",
"atan2",
"ave",
"build",
"buildindex",
"case",
"catch",
"choose",
"choosen",
"choosesets",
"clustersize",
"combine",
"correlation",
"cos",
"cosh",
"count",
"covariance",
"cron",
"dataset",
"dedup",
"define",
"denormalize",
"dictionary",
"distribute",
"distributed",
"distribution",
"ebcdic",
"enth",
"error",
"evaluate",
"event",
"eventextra",
"eventname",
"exists",
"exp",
"fail",
"failcode",
"failmessage",
"fetch",
"fromunicode",
"fromxml",
"getenv",
"getisvalid",
"global",
"graph",
"group",
"hash",
"hash32",
"hash64",
"hashcrc",
"hashmd5",
"having",
"httpcall",
"httpheader",
"if",
"iff",
"index",
"intformat",
"isvalid",
"iterate",
"join",
"keydiff",
"keypatch",
"keyunicode",
"length",
"library",
"limit",
"ln",
"loadxml",
"local",
"log",
"loop",
"map",
"matched",
"matchlength",
"matchposition",
"matchtext",
"matchunicode",
"max",
"merge",
"mergejoin",
"min",
"nofold",
"nolocal",
"nonempty",
"normalize",
"nothor",
"notify",
"output",
"parallel",
"parse",
"pipe",
"power",
"preload",
"process",
"project",
"pull",
"random",
"range",
"rank",
"ranked",
"realformat",
"recordof",
"regexfind",
"regexreplace",
"regroup",
"rejected",
"rollup",
"round",
"roundup",
"row",
"rowdiff",
"sample",
"sequential",
"set",
"sin",
"sinh",
"sizeof",
"soapcall",
"sort",
"sorted",
"sqrt",
"stepped",
"stored",
"sum",
"table",
"tan",
"tanh",
"thisnode",
"topn",
"tounicode",
"toxml",
"transfer",
"transform",
"trim",
"truncate",
"typeof",
"ungroup",
"unicodeorder",
"variance",
"wait",
"which",
"workunit",
"xmldecode",
"xmlencode",
"xmltext",
"xmlunicode"
],
typesint: ["integer", "unsigned"].join("|"),
typesnum: ["data", "qstring", "string", "unicode", "utf8", "varstring", "varunicode"],
typesone: [
"ascii",
"big_endian",
"boolean",
"data",
"decimal",
"ebcdic",
"grouped",
"integer",
"linkcounted",
"pattern",
"qstring",
"real",
"record",
"rule",
"set of",
"streamed",
"string",
"token",
"udecimal",
"unicode",
"unsigned",
"utf8",
"varstring",
"varunicode"
].join("|"),
operators: ["+", "-", "/", ":=", "<", "<>", "=", ">", "\\", "and", "in", "not", "or"],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
// escape sequences
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
[/@typesint[4|8]/, "type"],
[/#(@pounds)/, "type"],
[/@typesone/, "type"],
[
/[a-zA-Z_$][\w-$]*/,
{
cases: {
"@functions": "keyword.function",
"@keywords": "keyword",
"@operators": "operator"
}
}
],
// whitespace
{ include: "@whitespace" },
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]+/, "number.hex"],
[/0[bB][01]+/, "number.hex"],
// binary: use same theme style as hex
[/[0-9_]+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
[/"/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\v\f\r\n]+/, ""],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
string: [
[/[^\\']+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/'/, "string", "@pop"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+572
View File
@@ -0,0 +1,572 @@
define("vs/elixir-BxvNo5o6", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "'", close: "'" },
{ open: '"', close: '"' }
],
autoClosingPairs: [
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["comment"] },
{ open: '"""', close: '"""' },
{ open: "`", close: "`", notIn: ["string", "comment"] },
{ open: "(", close: ")" },
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "<<", close: ">>" }
],
indentationRules: {
increaseIndentPattern: /^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,
decreaseIndentPattern: /^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/
}
};
const language = {
defaultToken: "source",
tokenPostfix: ".elixir",
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "<<", close: ">>", token: "delimiter.angle.special" }
],
// Below are lists/regexps to which we reference later.
declarationKeywords: [
"def",
"defp",
"defn",
"defnp",
"defguard",
"defguardp",
"defmacro",
"defmacrop",
"defdelegate",
"defcallback",
"defmacrocallback",
"defmodule",
"defprotocol",
"defexception",
"defimpl",
"defstruct"
],
operatorKeywords: ["and", "in", "not", "or", "when"],
namespaceKeywords: ["alias", "import", "require", "use"],
otherKeywords: [
"after",
"case",
"catch",
"cond",
"do",
"else",
"end",
"fn",
"for",
"if",
"quote",
"raise",
"receive",
"rescue",
"super",
"throw",
"try",
"unless",
"unquote_splicing",
"unquote",
"with"
],
constants: ["true", "false", "nil"],
nameBuiltin: ["__MODULE__", "__DIR__", "__ENV__", "__CALLER__", "__STACKTRACE__"],
// Matches any of the operator names:
// <<< >>> ||| &&& ^^^ ~~~ === !== ~>> <~> |~> <|> == != <= >= && || \\ <> ++ -- |> =~ -> <- ~> <~ :: .. = < > + - * / | . ^ & !
operator: /-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,
// See https://hexdocs.pm/elixir/syntax-reference.html#variables
variableName: /[a-z_][a-zA-Z0-9_]*[?!]?/,
// See https://hexdocs.pm/elixir/syntax-reference.html#atoms
atomName: /[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,
specialAtomName: /\.\.\.|<<>>|%\{\}|%|\{\}/,
aliasPart: /[A-Z][a-zA-Z0-9_]*/,
moduleName: /@aliasPart(?:\.@aliasPart)*/,
// Sigil pairs are: """ """, ''' ''', " ", ' ', / /, | |, < >, { }, [ ], ( )
sigilSymmetricDelimiter: /"""|'''|"|'|\/|\|/,
sigilStartDelimiter: /@sigilSymmetricDelimiter|<|\{|\[|\(/,
sigilEndDelimiter: /@sigilSymmetricDelimiter|>|\}|\]|\)/,
sigilModifiers: /[a-zA-Z0-9]*/,
decimal: /\d(?:_?\d)*/,
hex: /[0-9a-fA-F](_?[0-9a-fA-F])*/,
octal: /[0-7](_?[0-7])*/,
binary: /[01](_?[01])*/,
// See https://hexdocs.pm/elixir/master/String.html#module-escape-characters
escape: /\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,
// The keys below correspond to tokenizer states.
// We start from the root state and match against its rules
// until we explicitly transition into another state.
// The `include` simply brings in all operations from the given state
// and is useful for improving readability.
tokenizer: {
root: [
{ include: "@whitespace" },
{ include: "@comments" },
// Keywords start as either an identifier or a string,
// but end with a : so it's important to match this first.
{ include: "@keywordsShorthand" },
{ include: "@numbers" },
{ include: "@identifiers" },
{ include: "@strings" },
{ include: "@atoms" },
{ include: "@sigils" },
{ include: "@attributes" },
{ include: "@symbols" }
],
// Whitespace
whitespace: [[/\s+/, "white"]],
// Comments
comments: [[/(#)(.*)/, ["comment.punctuation", "comment"]]],
// Keyword list shorthand
keywordsShorthand: [
[/(@atomName)(:)(\s+)/, ["constant", "constant.punctuation", "white"]],
// Use positive look-ahead to ensure the string is followed by :
// and should be considered a keyword.
[
/"(?=([^"]|#\{.*?\}|\\")*":)/,
{ token: "constant.delimiter", next: "@doubleQuotedStringKeyword" }
],
[
/'(?=([^']|#\{.*?\}|\\')*':)/,
{ token: "constant.delimiter", next: "@singleQuotedStringKeyword" }
]
],
doubleQuotedStringKeyword: [
[/":/, { token: "constant.delimiter", next: "@pop" }],
{ include: "@stringConstantContentInterpol" }
],
singleQuotedStringKeyword: [
[/':/, { token: "constant.delimiter", next: "@pop" }],
{ include: "@stringConstantContentInterpol" }
],
// Numbers
numbers: [
[/0b@binary/, "number.binary"],
[/0o@octal/, "number.octal"],
[/0x@hex/, "number.hex"],
[/@decimal\.@decimal([eE]-?@decimal)?/, "number.float"],
[/@decimal/, "number"]
],
// Identifiers
identifiers: [
// Tokenize identifier name in function-like definitions.
// Note: given `def a + b, do: nil`, `a` is not a function name,
// so we use negative look-ahead to ensure there's no operator.
[
/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,
[
"keyword.declaration",
"white",
{
cases: {
unquote: "keyword",
"@default": "function"
}
}
]
],
// Tokenize function calls
[
// In-scope call - an identifier followed by ( or .(
/(@variableName)(?=\s*\.?\s*\()/,
{
cases: {
// Tokenize as keyword in cases like `if(..., do: ..., else: ...)`
"@declarationKeywords": "keyword.declaration",
"@namespaceKeywords": "keyword",
"@otherKeywords": "keyword",
"@default": "function.call"
}
}
],
[
// Referencing function in a module
/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,
["type.identifier", "white", "operator", "white", "function.call"]
],
[
// Referencing function in an Erlang module
/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,
["constant.punctuation", "constant", "white", "operator", "white", "function.call"]
],
[
// Piping into a function (tokenized separately as it may not have parentheses)
/(\|>)(\s*)(@variableName)/,
[
"operator",
"white",
{
cases: {
"@otherKeywords": "keyword",
"@default": "function.call"
}
}
]
],
[
// Function reference passed to another function
/(&)(\s*)(@variableName)/,
["operator", "white", "function.call"]
],
// Language keywords, builtins, constants and variables
[
/@variableName/,
{
cases: {
"@declarationKeywords": "keyword.declaration",
"@operatorKeywords": "keyword.operator",
"@namespaceKeywords": "keyword",
"@otherKeywords": "keyword",
"@constants": "constant.language",
"@nameBuiltin": "variable.language",
"_.*": "comment.unused",
"@default": "identifier"
}
}
],
// Module names
[/@moduleName/, "type.identifier"]
],
// Strings
strings: [
[/"""/, { token: "string.delimiter", next: "@doubleQuotedHeredoc" }],
[/'''/, { token: "string.delimiter", next: "@singleQuotedHeredoc" }],
[/"/, { token: "string.delimiter", next: "@doubleQuotedString" }],
[/'/, { token: "string.delimiter", next: "@singleQuotedString" }]
],
doubleQuotedHeredoc: [
[/"""/, { token: "string.delimiter", next: "@pop" }],
{ include: "@stringContentInterpol" }
],
singleQuotedHeredoc: [
[/'''/, { token: "string.delimiter", next: "@pop" }],
{ include: "@stringContentInterpol" }
],
doubleQuotedString: [
[/"/, { token: "string.delimiter", next: "@pop" }],
{ include: "@stringContentInterpol" }
],
singleQuotedString: [
[/'/, { token: "string.delimiter", next: "@pop" }],
{ include: "@stringContentInterpol" }
],
// Atoms
atoms: [
[/(:)(@atomName)/, ["constant.punctuation", "constant"]],
[/:"/, { token: "constant.delimiter", next: "@doubleQuotedStringAtom" }],
[/:'/, { token: "constant.delimiter", next: "@singleQuotedStringAtom" }]
],
doubleQuotedStringAtom: [
[/"/, { token: "constant.delimiter", next: "@pop" }],
{ include: "@stringConstantContentInterpol" }
],
singleQuotedStringAtom: [
[/'/, { token: "constant.delimiter", next: "@pop" }],
{ include: "@stringConstantContentInterpol" }
],
// Sigils
// See https://elixir-lang.org/getting-started/sigils.html
// Sigils allow for typing values using their textual representation.
// All sigils start with ~ followed by a letter or
// multi-letter uppercase starting at Elixir v1.15.0, indicating sigil type
// and then a delimiter pair enclosing the textual representation.
// Optional modifiers are allowed after the closing delimiter.
// For instance a regular expressions can be written as:
// ~r/foo|bar/ ~r{foo|bar} ~r/foo|bar/g
//
// In general lowercase sigils allow for interpolation
// and escaped characters, whereas uppercase sigils don't
//
// During tokenization we want to distinguish some
// specific sigil types, namely string and regexp,
// so that they cen be themed separately.
//
// To reasonably handle all those combinations we leverage
// dot-separated states, so if we transition to @sigilStart.interpol.s.{.}
// then "sigilStart.interpol.s" state will match and also all
// the individual dot-separated parameters can be accessed.
sigils: [
[/~[a-z]@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.interpol" }],
[/~([A-Z]+)@sigilStartDelimiter/, { token: "@rematch", next: "@sigil.noInterpol" }]
],
sigil: [
[/~([a-z]|[A-Z]+)\{/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.{.}" }],
[/~([a-z]|[A-Z]+)\[/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.[.]" }],
[/~([a-z]|[A-Z]+)\(/, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.(.)" }],
[/~([a-z]|[A-Z]+)\</, { token: "@rematch", switchTo: "@sigilStart.$S2.$1.<.>" }],
[
/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,
{ token: "@rematch", switchTo: "@sigilStart.$S2.$1.$2.$2" }
]
],
// The definitions below expect states to be of the form:
//
// sigilStart.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
// sigilContinue.<interpol-or-noInterpol>.<sigil-letter>.<start-delimiter>.<end-delimiter>
//
// The sigilStart state is used only to properly classify the token (as string/regex/sigil)
// and immediately switches to the sigilContinue sate, which handles the actual content
// and waits for the corresponding end delimiter.
"sigilStart.interpol.s": [
[
/~s@sigilStartDelimiter/,
{
token: "string.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.interpol.s": [
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "string.delimiter", next: "@pop" },
"@default": "string"
}
}
],
{ include: "@stringContentInterpol" }
],
"sigilStart.noInterpol.S": [
[
/~S@sigilStartDelimiter/,
{
token: "string.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.noInterpol.S": [
// Ignore escaped sigil end
[/(^|[^\\])\\@sigilEndDelimiter/, "string"],
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "string.delimiter", next: "@pop" },
"@default": "string"
}
}
],
{ include: "@stringContent" }
],
"sigilStart.interpol.r": [
[
/~r@sigilStartDelimiter/,
{
token: "regexp.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.interpol.r": [
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "regexp.delimiter", next: "@pop" },
"@default": "regexp"
}
}
],
{ include: "@regexpContentInterpol" }
],
"sigilStart.noInterpol.R": [
[
/~R@sigilStartDelimiter/,
{
token: "regexp.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.noInterpol.R": [
// Ignore escaped sigil end
[/(^|[^\\])\\@sigilEndDelimiter/, "regexp"],
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "regexp.delimiter", next: "@pop" },
"@default": "regexp"
}
}
],
{ include: "@regexpContent" }
],
// Fallback to the generic sigil by default
"sigilStart.interpol": [
[
/~([a-z]|[A-Z]+)@sigilStartDelimiter/,
{
token: "sigil.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.interpol": [
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "sigil.delimiter", next: "@pop" },
"@default": "sigil"
}
}
],
{ include: "@sigilContentInterpol" }
],
"sigilStart.noInterpol": [
[
/~([a-z]|[A-Z]+)@sigilStartDelimiter/,
{
token: "sigil.delimiter",
switchTo: "@sigilContinue.$S2.$S3.$S4.$S5"
}
]
],
"sigilContinue.noInterpol": [
// Ignore escaped sigil end
[/(^|[^\\])\\@sigilEndDelimiter/, "sigil"],
[
/(@sigilEndDelimiter)@sigilModifiers/,
{
cases: {
"$1==$S5": { token: "sigil.delimiter", next: "@pop" },
"@default": "sigil"
}
}
],
{ include: "@sigilContent" }
],
// Attributes
attributes: [
// Module @doc* attributes - tokenized as comments
[
/\@(module|type)?doc (~[sS])?"""/,
{
token: "comment.block.documentation",
next: "@doubleQuotedHeredocDocstring"
}
],
[
/\@(module|type)?doc (~[sS])?'''/,
{
token: "comment.block.documentation",
next: "@singleQuotedHeredocDocstring"
}
],
[
/\@(module|type)?doc (~[sS])?"/,
{
token: "comment.block.documentation",
next: "@doubleQuotedStringDocstring"
}
],
[
/\@(module|type)?doc (~[sS])?'/,
{
token: "comment.block.documentation",
next: "@singleQuotedStringDocstring"
}
],
[/\@(module|type)?doc false/, "comment.block.documentation"],
// Module attributes
[/\@(@variableName)/, "variable"]
],
doubleQuotedHeredocDocstring: [
[/"""/, { token: "comment.block.documentation", next: "@pop" }],
{ include: "@docstringContent" }
],
singleQuotedHeredocDocstring: [
[/'''/, { token: "comment.block.documentation", next: "@pop" }],
{ include: "@docstringContent" }
],
doubleQuotedStringDocstring: [
[/"/, { token: "comment.block.documentation", next: "@pop" }],
{ include: "@docstringContent" }
],
singleQuotedStringDocstring: [
[/'/, { token: "comment.block.documentation", next: "@pop" }],
{ include: "@docstringContent" }
],
// Operators, punctuation, brackets
symbols: [
// Code point operator (either with regular character ?a or an escaped one ?\n)
[/\?(\\.|[^\\\s])/, "number.constant"],
// Anonymous function arguments
[/&\d+/, "operator"],
// Bitshift operators (must go before delimiters, so that << >> don't match first)
[/<<<|>>>/, "operator"],
// Delimiter pairs
[/[()\[\]\{\}]|<<|>>/, "@brackets"],
// Triple dot is a valid name (must go before operators, so that .. doesn't match instead)
[/\.\.\./, "identifier"],
// Punctuation => (must go before operators, so it's not tokenized as = then >)
[/=>/, "punctuation"],
// Operators
[/@operator/, "operator"],
// Punctuation
[/[:;,.%]/, "punctuation"]
],
// Generic helpers
stringContentInterpol: [
{ include: "@interpolation" },
{ include: "@escapeChar" },
{ include: "@stringContent" }
],
stringContent: [[/./, "string"]],
stringConstantContentInterpol: [
{ include: "@interpolation" },
{ include: "@escapeChar" },
{ include: "@stringConstantContent" }
],
stringConstantContent: [[/./, "constant"]],
regexpContentInterpol: [
{ include: "@interpolation" },
{ include: "@escapeChar" },
{ include: "@regexpContent" }
],
regexpContent: [
// # may be a regular regexp char, so we use a heuristic
// assuming a # surrounded by whitespace is actually a comment.
[/(\s)(#)(\s.*)$/, ["white", "comment.punctuation", "comment"]],
[/./, "regexp"]
],
sigilContentInterpol: [
{ include: "@interpolation" },
{ include: "@escapeChar" },
{ include: "@sigilContent" }
],
sigilContent: [[/./, "sigil"]],
docstringContent: [[/./, "comment.block.documentation"]],
escapeChar: [[/@escape/, "constant.character.escape"]],
interpolation: [[/#{/, { token: "delimiter.bracket.embed", next: "@interpolationContinue" }]],
interpolationContinue: [
[/}/, { token: "delimiter.bracket.embed", next: "@pop" }],
// Interpolation brackets may contain arbitrary code,
// so we simply match against all the root rules,
// until we reach interpolation end (the above matches).
{ include: "@root" }
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+145
View File
@@ -0,0 +1,145 @@
define("vs/flow9-BNnUn-_8", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
blockComment: ["/*", "*/"],
lineComment: "//"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}", notIn: ["string"] },
{ open: "[", close: "]", notIn: ["string"] },
{ open: "(", close: ")", notIn: ["string"] },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "<", close: ">" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".flow",
keywords: [
"import",
"require",
"export",
"forbid",
"native",
"if",
"else",
"cast",
"unsafe",
"switch",
"default"
],
types: [
"io",
"mutable",
"bool",
"int",
"double",
"string",
"flow",
"void",
"ref",
"true",
"false",
"with"
],
operators: [
"=",
">",
"<",
"<=",
">=",
"==",
"!",
"!=",
":=",
"::=",
"&&",
"||",
"+",
"-",
"*",
"/",
"@",
"&",
"%",
":",
"->",
"\\",
"$",
"??",
"^"
],
symbols: /[@$=><!~?:&|+\-*\\\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": "keyword",
"@types": "type",
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "delimiter"],
[/[<>](?!@symbols)/, "delimiter"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
[/"/, "string", "@string"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+996
View File
@@ -0,0 +1,996 @@
define("vs/freemarker2-CQSuO4BX", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const EMPTY_ELEMENTS = [
"assign",
"flush",
"ftl",
"return",
"global",
"import",
"include",
"break",
"continue",
"local",
"nested",
"nt",
"setting",
"stop",
"t",
"lt",
"rt",
"fallback"
];
const BLOCK_ELEMENTS = [
"attempt",
"autoesc",
"autoEsc",
"compress",
"comment",
"escape",
"noescape",
"function",
"if",
"list",
"items",
"sep",
"macro",
"noparse",
"noParse",
"noautoesc",
"noAutoEsc",
"outputformat",
"switch",
"visit",
"recurse"
];
const TagSyntaxAngle = {
close: ">",
id: "angle",
open: "<"
};
const TagSyntaxBracket = {
close: "\\]",
id: "bracket",
open: "\\["
};
const TagSyntaxAuto = {
close: "[>\\]]",
id: "auto",
open: "[<\\[]"
};
const InterpolationSyntaxDollar = {
close: "\\}",
id: "dollar",
open1: "\\$",
open2: "\\{"
};
const InterpolationSyntaxBracket = {
close: "\\]",
id: "bracket",
open1: "\\[",
open2: "="
};
function createLangConfiguration(ts) {
return {
brackets: [
["<", ">"],
["[", "]"],
["(", ")"],
["{", "}"]
],
comments: {
blockComment: [`${ts.open}--`, `--${ts.close}`]
},
autoCloseBefore: "\n\r }]),.:;=",
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string"] }
],
surroundingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" }
],
folding: {
markers: {
start: new RegExp(
`${ts.open}#(?:${BLOCK_ELEMENTS.join("|")})([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
),
end: new RegExp(`${ts.open}/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)
}
},
onEnterRules: [
{
beforeText: new RegExp(
`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
),
afterText: new RegExp(`^${ts.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${ts.close}$`),
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`${ts.open}#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/${ts.close}]*(?!/)${ts.close})[^${ts.open}]*$`
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
]
};
}
function createLangConfigurationAuto() {
return {
// Cannot set block comment delimiter in auto mode...
// It depends on the content and the cursor position of the file...
brackets: [
["<", ">"],
["[", "]"],
["(", ")"],
["{", "}"]
],
autoCloseBefore: "\n\r }]),.:;=",
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string"] }
],
surroundingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" }
],
folding: {
markers: {
start: new RegExp(`[<\\[]#(?:${BLOCK_ELEMENTS.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),
end: new RegExp(`[<\\[]/#(?:${BLOCK_ELEMENTS.join("|")})[\\r\\n\\t ]*>`)
}
},
onEnterRules: [
{
beforeText: new RegExp(
`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`
),
afterText: new RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`[<\\[]#(?!(?:${EMPTY_ELEMENTS.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
]
};
}
function createMonarchLanguage(ts, is) {
const id = `_${ts.id}_${is.id}`;
const s = (name) => name.replace(/__id__/g, id);
const r = (regexp) => {
const source = regexp.source.replace(/__id__/g, id);
return new RegExp(source, regexp.flags);
};
return {
// Settings
unicode: true,
includeLF: false,
start: s("default__id__"),
ignoreCase: false,
defaultToken: "invalid",
tokenPostfix: `.freemarker2`,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
// Dynamic RegExp
[s("open__id__")]: new RegExp(ts.open),
[s("close__id__")]: new RegExp(ts.close),
[s("iOpen1__id__")]: new RegExp(is.open1),
[s("iOpen2__id__")]: new RegExp(is.open2),
[s("iClose__id__")]: new RegExp(is.close),
// <#START_TAG : "<" | "<#" | "[#">
// <#END_TAG : "</" | "</#" | "[/#">
[s("startTag__id__")]: r(/(@open__id__)(#)/),
[s("endTag__id__")]: r(/(@open__id__)(\/#)/),
[s("startOrEndTag__id__")]: r(/(@open__id__)(\/?#)/),
// <#CLOSE_TAG1 : (<BLANK>)* (">" | "]")>
[s("closeTag1__id__")]: r(/((?:@blank)*)(@close__id__)/),
// <#CLOSE_TAG2 : (<BLANK>)* ("/")? (">" | "]")>
[s("closeTag2__id__")]: r(/((?:@blank)*\/?)(@close__id__)/),
// Static RegExp
// <#BLANK : " " | "\t" | "\n" | "\r">
blank: /[ \t\n\r]/,
// <FALSE : "false">
// <TRUE : "true">
// <IN : "in">
// <AS : "as">
// <USING : "using">
keywords: ["false", "true", "in", "as", "using"],
// Directive names that cannot have an expression parameters and cannot be self-closing
// E.g. <#if id==2> ... </#if>
directiveStartCloseTag1: /attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,
// Directive names that cannot have an expression parameter and can be self-closing
// E.g. <#if> ... <#else> ... </#if>
// E.g. <#if> ... <#else /></#if>
directiveStartCloseTag2: /else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,
// Directive names that can have an expression parameter and cannot be self-closing
// E.g. <#if id==2> ... </#if>
directiveStartBlank: /if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,
// Directive names that can have an end tag
// E.g. </#if>
directiveEndCloseTag1: /if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,
// <#ESCAPED_CHAR :
// "\\"
// (
// ("n" | "t" | "r" | "f" | "b" | "g" | "l" | "a" | "\\" | "'" | "\"" | "{" | "=")
// |
// ("x" ["0"-"9", "A"-"F", "a"-"f"])
// )
// >
// Note: While the JavaCC tokenizer rule only specifies one hex digit,
// FreeMarker actually interprets up to 4 hex digits.
escapedChar: /\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,
// <#ASCII_DIGIT: ["0" - "9"]>
asciiDigit: /[0-9]/,
// <INTEGER : (["0"-"9"])+>
integer: /[0-9]+/,
// <#NON_ESCAPED_ID_START_CHAR:
// [
// // This was generated on JDK 1.8.0_20 Win64 with src/main/misc/identifierChars/IdentifierCharGenerator.java
// ...
// ]
nonEscapedIdStartChar: /[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,
// <#ESCAPED_ID_CHAR: "\\" ("-" | "." | ":" | "#")>
escapedIdChar: /\\[\-\.:#]/,
// <#ID_START_CHAR: <NON_ESCAPED_ID_START_CHAR>|<ESCAPED_ID_CHAR>>
idStartChar: /(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,
// <ID: <ID_START_CHAR> (<ID_START_CHAR>|<ASCII_DIGIT>)*>
id: /(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,
// Certain keywords / operators are allowed to index hashes
//
// Expression DotVariable(Expression exp) :
// {
// Token t;
// }
// {
// <DOT>
// (
// t = <ID> | t = <TIMES> | t = <DOUBLE_STAR>
// |
// (
// t = <LESS_THAN>
// |
// t = <LESS_THAN_EQUALS>
// |
// t = <ESCAPED_GT>
// |
// t = <ESCAPED_GTE>
// |
// t = <FALSE>
// |
// t = <TRUE>
// |
// t = <IN>
// |
// t = <AS>
// |
// t = <USING>
// )
// {
// if (!Character.isLetter(t.image.charAt(0))) {
// throw new ParseException(t.image + " is not a valid identifier.", template, t);
// }
// }
// )
// {
// notListLiteral(exp, "hash");
// notStringLiteral(exp, "hash");
// notBooleanLiteral(exp, "hash");
// Dot dot = new Dot(exp, t.image);
// dot.setLocation(template, exp, t);
// return dot;
// }
// }
specialHashKeys: /\*\*|\*|false|true|in|as|using/,
// <DOUBLE_EQUALS : "==">
// <EQUALS : "=">
// <NOT_EQUALS : "!=">
// <PLUS_EQUALS : "+=">
// <MINUS_EQUALS : "-=">
// <TIMES_EQUALS : "*=">
// <DIV_EQUALS : "/=">
// <MOD_EQUALS : "%=">
// <PLUS_PLUS : "++">
// <MINUS_MINUS : "--">
// <LESS_THAN_EQUALS : "lte" | "\\lte" | "<=" | "&lt;=">
// <LESS_THAN : "lt" | "\\lt" | "<" | "&lt;">
// <ESCAPED_GTE : "gte" | "\\gte" | "&gt;=">
// <ESCAPED_GT: "gt" | "\\gt" | "&gt;">
// <DOUBLE_STAR : "**">
// <PLUS : "+">
// <MINUS : "-">
// <TIMES : "*">
// <PERCENT : "%">
// <AND : "&" | "&&" | "&amp;&amp;" | "\\and" >
// <OR : "|" | "||">
// <EXCLAM : "!">
// <COMMA : ",">
// <SEMICOLON : ";">
// <COLON : ":">
// <ELLIPSIS : "...">
// <DOT_DOT_ASTERISK : "..*" >
// <DOT_DOT_LESS : "..<" | "..!" >
// <DOT_DOT : "..">
// <EXISTS : "??">
// <BUILT_IN : "?">
// <LAMBDA_ARROW : "->" | "-&gt;">
namedSymbols: /&lt;=|&gt;=|\\lte|\\lt|&lt;|\\gte|\\gt|&gt;|&amp;&amp;|\\and|-&gt;|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,
arrows: ["->", "-&gt;"],
delimiters: [";", ":", ",", "."],
stringOperators: ["lte", "lt", "gte", "gt"],
noParseTags: ["noparse", "noParse", "comment"],
tokenizer: {
// Parser states
// Plain text
[s("default__id__")]: [
{ include: s("@directive_token__id__") },
{ include: s("@interpolation_and_text_token__id__") }
],
// A FreeMarker expression inside a directive, e.g. <#if 2<3>
[s("fmExpression__id__.directive")]: [
{ include: s("@blank_and_expression_comment_token__id__") },
{ include: s("@directive_end_token__id__") },
{ include: s("@expression_token__id__") }
],
// A FreeMarker expression inside an interpolation, e.g. ${2+3}
[s("fmExpression__id__.interpolation")]: [
{ include: s("@blank_and_expression_comment_token__id__") },
{ include: s("@expression_token__id__") },
{ include: s("@greater_operators_token__id__") }
],
// In an expression and inside a not-yet closed parenthesis / bracket
[s("inParen__id__.plain")]: [
{ include: s("@blank_and_expression_comment_token__id__") },
{ include: s("@directive_end_token__id__") },
{ include: s("@expression_token__id__") }
],
[s("inParen__id__.gt")]: [
{ include: s("@blank_and_expression_comment_token__id__") },
{ include: s("@expression_token__id__") },
{ include: s("@greater_operators_token__id__") }
],
// Expression for the unified call, e.g. <@createMacro() ... >
[s("noSpaceExpression__id__")]: [
{ include: s("@no_space_expression_end_token__id__") },
{ include: s("@directive_end_token__id__") },
{ include: s("@expression_token__id__") }
],
// For the function of a unified call. Special case for when the
// expression is a simple identifier.
// <@join [1,2] ",">
// <@null!join [1,2] ",">
[s("unifiedCall__id__")]: [{ include: s("@unified_call_token__id__") }],
// For singly and doubly quoted string (that may contain interpolations)
[s("singleString__id__")]: [{ include: s("@string_single_token__id__") }],
[s("doubleString__id__")]: [{ include: s("@string_double_token__id__") }],
// For singly and doubly quoted string (that may not contain interpolations)
[s("rawSingleString__id__")]: [{ include: s("@string_single_raw_token__id__") }],
[s("rawDoubleString__id__")]: [{ include: s("@string_double_raw_token__id__") }],
// For a comment in an expression
// ${ 1 + <#-- comment --> 2}
[s("expressionComment__id__")]: [{ include: s("@expression_comment_token__id__") }],
// For <#noparse> ... </#noparse>
// For <#noParse> ... </#noParse>
// For <#comment> ... </#comment>
[s("noParse__id__")]: [{ include: s("@no_parse_token__id__") }],
// For <#-- ... -->
[s("terseComment__id__")]: [{ include: s("@terse_comment_token__id__") }],
// Common rules
[s("directive_token__id__")]: [
// <ATTEMPT : <START_TAG> "attempt" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <RECOVER : <START_TAG> "recover" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <SEP : <START_TAG> "sep" <CLOSE_TAG1>>
// <AUTOESC : <START_TAG> "auto" ("e"|"E") "sc" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), DEFAULT);
// }
// <NOAUTOESC : <START_TAG> "no" ("autoe"|"AutoE") "sc" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
// }
// <COMPRESS : <START_TAG> "compress" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <DEFAUL : <START_TAG> "default" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <NOESCAPE : <START_TAG> "no" ("e" | "E") "scape" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
// }
//
// <COMMENT : <START_TAG> "comment" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, NO_PARSE); noparseTag = "comment";
// }
// <NOPARSE: <START_TAG> "no" ("p" | "P") "arse" <CLOSE_TAG1>> {
// int tagNamingConvention = getTagNamingConvention(matchedToken, 2);
// handleTagSyntaxAndSwitch(matchedToken, tagNamingConvention, NO_PARSE);
// noparseTag = tagNamingConvention == Configuration.CAMEL_CASE_NAMING_CONVENTION ? "noParse" : "noparse";
// }
[
r(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{
cases: {
"@noParseTags": { token: "tag", next: s("@noParse__id__.$3") },
"@default": { token: "tag" }
}
},
{ token: "delimiter.directive" },
{ token: "@brackets.directive" }
]
],
// <ELSE : <START_TAG> "else" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <BREAK : <START_TAG> "break" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <CONTINUE : <START_TAG> "continue" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <SIMPLE_RETURN : <START_TAG> "return" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <HALT : <START_TAG> "stop" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <FLUSH : <START_TAG> "flush" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <TRIM : <START_TAG> "t" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <LTRIM : <START_TAG> "lt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <RTRIM : <START_TAG> "rt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <NOTRIM : <START_TAG> "nt" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <SIMPLE_NESTED : <START_TAG> "nested" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <SIMPLE_RECURSE : <START_TAG> "recurse" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <FALLBACK : <START_TAG> "fallback" <CLOSE_TAG2>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <TRIVIAL_FTL_HEADER : ("<#ftl" | "[#ftl") ("/")? (">" | "]")> { ftlHeader(matchedToken); }
[
r(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag" },
{ token: "delimiter.directive" },
{ token: "@brackets.directive" }
]
],
// <IF : <START_TAG> "if" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <ELSE_IF : <START_TAG> "else" ("i" | "I") "f" <BLANK>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), FM_EXPRESSION);
// }
// <LIST : <START_TAG> "list" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <FOREACH : <START_TAG> "for" ("e" | "E") "ach" <BLANK>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 3), FM_EXPRESSION);
// }
// <SWITCH : <START_TAG> "switch" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <CASE : <START_TAG> "case" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <ASSIGN : <START_TAG> "assign" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <GLOBALASSIGN : <START_TAG> "global" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <LOCALASSIGN : <START_TAG> "local" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <_INCLUDE : <START_TAG> "include" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <IMPORT : <START_TAG> "import" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <FUNCTION : <START_TAG> "function" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <MACRO : <START_TAG> "macro" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <TRANSFORM : <START_TAG> "transform" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <VISIT : <START_TAG> "visit" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <STOP : <START_TAG> "stop" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <RETURN : <START_TAG> "return" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <CALL : <START_TAG> "call" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <SETTING : <START_TAG> "setting" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <OUTPUTFORMAT : <START_TAG> "output" ("f"|"F") "ormat" <BLANK>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 6), FM_EXPRESSION);
// }
// <NESTED : <START_TAG> "nested" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <RECURSE : <START_TAG> "recurse" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
// <ESCAPE : <START_TAG> "escape" <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
//
// Note: FreeMarker grammar appears to treat the FTL header as a special case,
// in order to remove new lines after the header (?), but since we only need
// to tokenize for highlighting, we can include this directive here.
// <FTL_HEADER : ("<#ftl" | "[#ftl") <BLANK>> { ftlHeader(matchedToken); }
//
// Note: FreeMarker grammar appears to treat the items directive as a special case for
// the AST parsing process, but since we only need to tokenize, we can include this
// directive here.
// <ITEMS : <START_TAG> "items" (<BLANK>)+ <AS> <BLANK>> { handleTagSyntaxAndSwitch(matchedToken, FM_EXPRESSION); }
[
r(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag" },
{ token: "", next: s("@fmExpression__id__.directive") }
]
],
// <END_IF : <END_TAG> "if" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_LIST : <END_TAG> "list" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_SEP : <END_TAG> "sep" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_RECOVER : <END_TAG> "recover" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_ATTEMPT : <END_TAG> "attempt" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_FOREACH : <END_TAG> "for" ("e" | "E") "ach" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 3), DEFAULT);
// }
// <END_LOCAL : <END_TAG> "local" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_GLOBAL : <END_TAG> "global" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_ASSIGN : <END_TAG> "assign" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_FUNCTION : <END_TAG> "function" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_MACRO : <END_TAG> "macro" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_OUTPUTFORMAT : <END_TAG> "output" ("f" | "F") "ormat" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 6), DEFAULT);
// }
// <END_AUTOESC : <END_TAG> "auto" ("e" | "E") "sc" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 4), DEFAULT);
// }
// <END_NOAUTOESC : <END_TAG> "no" ("autoe"|"AutoE") "sc" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
// }
// <END_COMPRESS : <END_TAG> "compress" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_TRANSFORM : <END_TAG> "transform" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_SWITCH : <END_TAG> "switch" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_ESCAPE : <END_TAG> "escape" <CLOSE_TAG1>> { handleTagSyntaxAndSwitch(matchedToken, DEFAULT); }
// <END_NOESCAPE : <END_TAG> "no" ("e" | "E") "scape" <CLOSE_TAG1>> {
// handleTagSyntaxAndSwitch(matchedToken, getTagNamingConvention(matchedToken, 2), DEFAULT);
// }
[
r(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag" },
{ token: "delimiter.directive" },
{ token: "@brackets.directive" }
]
],
// <UNIFIED_CALL : "<@" | "[@" > { unifiedCall(matchedToken); }
[
r(/(@open__id__)(@)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive", next: s("@unifiedCall__id__") }
]
],
// <UNIFIED_CALL_END : ("<" | "[") "/@" ((<ID>) ("."<ID>)*)? <CLOSE_TAG1>> { unifiedCallEnd(matchedToken); }
[
r(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),
[
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag" },
{ token: "delimiter.directive" },
{ token: "@brackets.directive" }
]
],
// <TERSE_COMMENT : ("<" | "[") "#--" > { noparseTag = "-->"; handleTagSyntaxAndSwitch(matchedToken, NO_PARSE); }
[
r(/(@open__id__)#--/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : { token: "comment", next: s("@terseComment__id__") }
],
// <UNKNOWN_DIRECTIVE : ("[#" | "[/#" | "<#" | "</#") (["a"-"z", "A"-"Z", "_"])+>
[
r(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),
ts.id === "auto" ? {
cases: {
"$1==<": { token: "@rematch", switchTo: `@default_angle_${is.id}` },
"$1==[": { token: "@rematch", switchTo: `@default_bracket_${is.id}` }
}
} : [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag.invalid", next: s("@fmExpression__id__.directive") }
]
]
],
// <DEFAULT, NO_DIRECTIVE> TOKEN :
[s("interpolation_and_text_token__id__")]: [
// <DOLLAR_INTERPOLATION_OPENING : "${"> { startInterpolation(matchedToken); }
// <SQUARE_BRACKET_INTERPOLATION_OPENING : "[="> { startInterpolation(matchedToken); }
[
r(/(@iOpen1__id__)(@iOpen2__id__)/),
[
{ token: is.id === "bracket" ? "@brackets.interpolation" : "delimiter.interpolation" },
{
token: is.id === "bracket" ? "delimiter.interpolation" : "@brackets.interpolation",
next: s("@fmExpression__id__.interpolation")
}
]
],
// <STATIC_TEXT_FALSE_ALARM : "$" | "#" | "<" | "[" | "{"> // to handle a lone dollar sign or "<" or "# or <@ with whitespace after"
// <STATIC_TEXT_WS : ("\n" | "\r" | "\t" | " ")+>
// <STATIC_TEXT_NON_WS : (~["$", "<", "#", "[", "{", "\n", "\r", "\t", " "])+>
[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/, { token: "source" }]
],
// <STRING_LITERAL :
// (
// "\""
// ((~["\"", "\\"]) | <ESCAPED_CHAR>)*
// "\""
// )
// |
// (
// "'"
// ((~["'", "\\"]) | <ESCAPED_CHAR>)*
// "'"
// )
// >
[s("string_single_token__id__")]: [
[/[^'\\]/, { token: "string" }],
[/@escapedChar/, { token: "string.escape" }],
[/'/, { token: "string", next: "@pop" }]
],
[s("string_double_token__id__")]: [
[/[^"\\]/, { token: "string" }],
[/@escapedChar/, { token: "string.escape" }],
[/"/, { token: "string", next: "@pop" }]
],
// <RAW_STRING : "r" (("\"" (~["\""])* "\"") | ("'" (~["'"])* "'"))>
[s("string_single_raw_token__id__")]: [
[/[^']+/, { token: "string.raw" }],
[/'/, { token: "string.raw", next: "@pop" }]
],
[s("string_double_raw_token__id__")]: [
[/[^"]+/, { token: "string.raw" }],
[/"/, { token: "string.raw", next: "@pop" }]
],
// <FM_EXPRESSION, IN_PAREN, NO_SPACE_EXPRESSION, NAMED_PARAMETER_EXPRESSION> TOKEN :
[s("expression_token__id__")]: [
// Strings
[
/(r?)(['"])/,
{
cases: {
"r'": [
{ token: "keyword" },
{ token: "string.raw", next: s("@rawSingleString__id__") }
],
'r"': [
{ token: "keyword" },
{ token: "string.raw", next: s("@rawDoubleString__id__") }
],
"'": [{ token: "source" }, { token: "string", next: s("@singleString__id__") }],
'"': [{ token: "source" }, { token: "string", next: s("@doubleString__id__") }]
}
}
],
// Numbers
// <INTEGER : (["0"-"9"])+>
// <DECIMAL : <INTEGER> "." <INTEGER>>
[
/(?:@integer)(?:\.(?:@integer))?/,
{
cases: {
"(?:@integer)": { token: "number" },
"@default": { token: "number.float" }
}
}
],
// Special hash keys that must not be treated as identifiers
// after a period, e.g. a.** is accessing the key "**" of a
[
/(\.)(@blank*)(@specialHashKeys)/,
[{ token: "delimiter" }, { token: "" }, { token: "identifier" }]
],
// Symbols / operators
[
/(?:@namedSymbols)/,
{
cases: {
"@arrows": { token: "meta.arrow" },
"@delimiters": { token: "delimiter" },
"@default": { token: "operators" }
}
}
],
// Identifiers
[
/@id/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@stringOperators": { token: "operators" },
"@default": { token: "identifier" }
}
}
],
// <OPEN_BRACKET : "[">
// <CLOSE_BRACKET : "]">
// <OPEN_PAREN : "(">
// <CLOSE_PAREN : ")">
// <OPENING_CURLY_BRACKET : "{">
// <CLOSING_CURLY_BRACKET : "}">
[
/[\[\]\(\)\{\}]/,
{
cases: {
"\\[": {
cases: {
"$S2==gt": { token: "@brackets", next: s("@inParen__id__.gt") },
"@default": { token: "@brackets", next: s("@inParen__id__.plain") }
}
},
"\\]": {
cases: {
...is.id === "bracket" ? {
"$S2==interpolation": { token: "@brackets.interpolation", next: "@popall" }
} : {},
// This cannot happen while in auto mode, since this applies only to an
// fmExpression inside a directive. But once we encounter the start of a
// directive, we can establish the tag syntax mode.
...ts.id === "bracket" ? {
"$S2==directive": { token: "@brackets.directive", next: "@popall" }
} : {},
// Ignore mismatched paren
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
"@default": { token: "@brackets" }
}
},
"\\(": { token: "@brackets", next: s("@inParen__id__.gt") },
"\\)": {
cases: {
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
"@default": { token: "@brackets" }
}
},
"\\{": {
cases: {
"$S2==gt": { token: "@brackets", next: s("@inParen__id__.gt") },
"@default": { token: "@brackets", next: s("@inParen__id__.plain") }
}
},
"\\}": {
cases: {
...is.id === "bracket" ? {} : {
"$S2==interpolation": { token: "@brackets.interpolation", next: "@popall" }
},
// Ignore mismatched paren
[s("$S1==inParen__id__")]: { token: "@brackets", next: "@pop" },
"@default": { token: "@brackets" }
}
}
}
}
],
// <OPEN_MISPLACED_INTERPOLATION : "${" | "#{" | "[=">
[/\$\{/, { token: "delimiter.invalid" }]
],
// <FM_EXPRESSION, IN_PAREN, NAMED_PARAMETER_EXPRESSION> SKIP :
[s("blank_and_expression_comment_token__id__")]: [
// < ( " " | "\t" | "\n" | "\r" )+ >
[/(?:@blank)+/, { token: "" }],
// < ("<" | "[") ("#" | "!") "--"> : EXPRESSION_COMMENT
[/[<\[][#!]--/, { token: "comment", next: s("@expressionComment__id__") }]
],
// <FM_EXPRESSION, NO_SPACE_EXPRESSION, NAMED_PARAMETER_EXPRESSION> TOKEN :
[s("directive_end_token__id__")]: [
// <DIRECTIVE_END : ">">
// {
// if (inFTLHeader) {
// eatNewline();
// inFTLHeader = false;
// }
// if (squBracTagSyntax || postInterpolationLexState != -1 /* We are in an interpolation */) {
// matchedToken.kind = NATURAL_GT;
// } else {
// SwitchTo(DEFAULT);
// }
// }
// This cannot happen while in auto mode, since this applies only to an
// fmExpression inside a directive. But once we encounter the start of a
// directive, we can establish the tag syntax mode.
[
/>/,
ts.id === "bracket" ? { token: "operators" } : { token: "@brackets.directive", next: "@popall" }
],
// <EMPTY_DIRECTIVE_END : "/>" | "/]">
// It is a syntax error to end a tag with the wrong close token
// Let's indicate that to the user by not closing the tag
[
r(/(\/)(@close__id__)/),
[{ token: "delimiter.directive" }, { token: "@brackets.directive", next: "@popall" }]
]
],
// <IN_PAREN> TOKEN :
[s("greater_operators_token__id__")]: [
// <NATURAL_GT : ">">
[/>/, { token: "operators" }],
// <NATURAL_GTE : ">=">
[/>=/, { token: "operators" }]
],
// <NO_SPACE_EXPRESSION> TOKEN :
[s("no_space_expression_end_token__id__")]: [
// <TERMINATING_WHITESPACE : (["\n", "\r", "\t", " "])+> : FM_EXPRESSION
[/(?:@blank)+/, { token: "", switchTo: s("@fmExpression__id__.directive") }]
],
[s("unified_call_token__id__")]: [
// Special case for a call where the expression is just an ID
// <UNIFIED_CALL> <ID> <BLANK>+
[
/(@id)((?:@blank)+)/,
[{ token: "tag" }, { token: "", next: s("@fmExpression__id__.directive") }]
],
[
r(/(@id)(\/?)(@close__id__)/),
[
{ token: "tag" },
{ token: "delimiter.directive" },
{ token: "@brackets.directive", next: "@popall" }
]
],
[/./, { token: "@rematch", next: s("@noSpaceExpression__id__") }]
],
// <NO_PARSE> TOKEN :
[s("no_parse_token__id__")]: [
// <MAYBE_END :
// ("<" | "[")
// "/"
// ("#")?
// (["a"-"z", "A"-"Z"])+
// ( " " | "\t" | "\n" | "\r" )*
// (">" | "]")
// >
[
r(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),
{
cases: {
"$S2==$3": [
{ token: "@brackets.directive" },
{ token: "delimiter.directive" },
{ token: "tag" },
{ token: "" },
{ token: "@brackets.directive", next: "@popall" }
],
"$S2==comment": [
{ token: "comment" },
{ token: "comment" },
{ token: "comment" },
{ token: "comment" },
{ token: "comment" }
],
"@default": [
{ token: "source" },
{ token: "source" },
{ token: "source" },
{ token: "source" },
{ token: "source" }
]
}
}
],
// <KEEP_GOING : (~["<", "[", "-"])+>
// <LONE_LESS_THAN_OR_DASH : ["<", "[", "-"]>
[
/[^<\[\-]+|[<\[\-]/,
{
cases: {
"$S2==comment": { token: "comment" },
"@default": { token: "source" }
}
}
]
],
// <EXPRESSION_COMMENT> SKIP:
[s("expression_comment_token__id__")]: [
// < "-->" | "--]">
[
/--[>\]]/,
{
token: "comment",
next: "@pop"
}
],
// < (~["-", ">", "]"])+ >
// < ">">
// < "]">
// < "-">
[/[^\->\]]+|[>\]\-]/, { token: "comment" }]
],
[s("terse_comment_token__id__")]: [
// <TERSE_COMMENT_END : "-->" | "--]">
[r(/--(?:@close__id__)/), { token: "comment", next: "@popall" }],
// <KEEP_GOING : (~["<", "[", "-"])+>
// <LONE_LESS_THAN_OR_DASH : ["<", "[", "-"]>
[/[^<\[\-]+|[<\[\-]/, { token: "comment" }]
]
}
};
}
function createMonarchLanguageAuto(is) {
const angle = createMonarchLanguage(TagSyntaxAngle, is);
const bracket = createMonarchLanguage(TagSyntaxBracket, is);
const auto = createMonarchLanguage(TagSyntaxAuto, is);
return {
// Angle and bracket syntax mode
// We switch to one of these once we have determined the mode
...angle,
...bracket,
...auto,
// Settings
unicode: true,
includeLF: false,
start: `default_auto_${is.id}`,
ignoreCase: false,
defaultToken: "invalid",
tokenPostfix: `.freemarker2`,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
tokenizer: {
...angle.tokenizer,
...bracket.tokenizer,
...auto.tokenizer
}
};
}
const TagAngleInterpolationDollar = {
conf: createLangConfiguration(TagSyntaxAngle),
language: createMonarchLanguage(TagSyntaxAngle, InterpolationSyntaxDollar)
};
const TagBracketInterpolationDollar = {
conf: createLangConfiguration(TagSyntaxBracket),
language: createMonarchLanguage(TagSyntaxBracket, InterpolationSyntaxDollar)
};
const TagAngleInterpolationBracket = {
conf: createLangConfiguration(TagSyntaxAngle),
language: createMonarchLanguage(TagSyntaxAngle, InterpolationSyntaxBracket)
};
const TagBracketInterpolationBracket = {
conf: createLangConfiguration(TagSyntaxBracket),
language: createMonarchLanguage(TagSyntaxBracket, InterpolationSyntaxBracket)
};
const TagAutoInterpolationDollar = {
conf: createLangConfigurationAuto(),
language: createMonarchLanguageAuto(InterpolationSyntaxDollar)
};
const TagAutoInterpolationBracket = {
conf: createLangConfigurationAuto(),
language: createMonarchLanguageAuto(InterpolationSyntaxBracket)
};
exports.TagAngleInterpolationBracket = TagAngleInterpolationBracket;
exports.TagAngleInterpolationDollar = TagAngleInterpolationDollar;
exports.TagAutoInterpolationBracket = TagAutoInterpolationBracket;
exports.TagAutoInterpolationDollar = TagAutoInterpolationDollar;
exports.TagBracketInterpolationBracket = TagBracketInterpolationBracket;
exports.TagBracketInterpolationDollar = TagBracketInterpolationDollar;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+220
View File
@@ -0,0 +1,220 @@
define("vs/fsharp-DHdXPb1O", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["(*", "*)"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),
end: new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".fs",
keywords: [
"abstract",
"and",
"atomic",
"as",
"assert",
"asr",
"base",
"begin",
"break",
"checked",
"component",
"const",
"constraint",
"constructor",
"continue",
"class",
"default",
"delegate",
"do",
"done",
"downcast",
"downto",
"elif",
"else",
"end",
"exception",
"eager",
"event",
"external",
"extern",
"false",
"finally",
"for",
"fun",
"function",
"fixed",
"functor",
"global",
"if",
"in",
"include",
"inherit",
"inline",
"interface",
"internal",
"land",
"lor",
"lsl",
"lsr",
"lxor",
"lazy",
"let",
"match",
"member",
"mod",
"module",
"mutable",
"namespace",
"method",
"mixin",
"new",
"not",
"null",
"of",
"open",
"or",
"object",
"override",
"private",
"parallel",
"process",
"protected",
"pure",
"public",
"rec",
"return",
"static",
"sealed",
"struct",
"sig",
"then",
"to",
"true",
"tailcall",
"trait",
"try",
"type",
"upcast",
"use",
"val",
"void",
"virtual",
"volatile",
"when",
"while",
"with",
"yield"
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\^%;\.,\/]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
integersuffix: /[uU]?[yslnLI]?/,
floatsuffix: /[fFmM]?/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// [< attributes >].
[/\[<.*>\]/, "annotation"],
// Preprocessor directive
[/^#(if|else|endif)/, "keyword"],
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"],
[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"],
[/0x[0-9a-fA-F]+LF/, "number.float"],
[/0x[0-9a-fA-F]+(@integersuffix)/, "number.hex"],
[/0b[0-1]+(@integersuffix)/, "number.bin"],
[/\d+(@integersuffix)/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"""/, "string", '@string."""'],
[/"/, "string", '@string."'],
// literal string
[/\@"/, { token: "string.quote", next: "@litstring" }],
// characters
[/'[^\\']'B?/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\(\*(?!\))/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^*(]+/, "comment"],
[/\*\)/, "comment", "@pop"],
[/\*/, "comment"],
[/\(\*\)/, "comment"],
[/\(/, "comment"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[
/("""|"B?)/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
]
],
litstring: [
[/[^"]+/, "string"],
[/""/, "string.escape"],
[/"/, { token: "string.quote", next: "@pop" }]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+221
View File
@@ -0,0 +1,221 @@
define("vs/go-DcS9_gMe", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "`", close: "`", notIn: ["string"] },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "`", close: "`" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".go",
keywords: [
"break",
"case",
"chan",
"const",
"continue",
"default",
"defer",
"else",
"fallthrough",
"for",
"func",
"go",
"goto",
"if",
"import",
"interface",
"map",
"package",
"range",
"return",
"select",
"struct",
"switch",
"type",
"var",
"bool",
"true",
"false",
"uint8",
"uint16",
"uint32",
"uint64",
"int8",
"int16",
"int32",
"int64",
"float32",
"float64",
"complex64",
"complex128",
"byte",
"rune",
"uint",
"int",
"uintptr",
"string",
"nil"
],
operators: [
"+",
"-",
"*",
"/",
"%",
"&",
"|",
"^",
"<<",
">>",
"&^",
"+=",
"-=",
"*=",
"/=",
"%=",
"&=",
"|=",
"^=",
"<<=",
">>=",
"&^=",
"&&",
"||",
"<-",
"++",
"--",
"==",
"<",
">",
"=",
"!",
"!=",
"<=",
">=",
":=",
"...",
"(",
")",
"",
"]",
"{",
"}",
",",
";",
".",
":"
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// [[ attributes ]].
[/\[\[.*\]\]/, "annotation"],
// Preprocessor directive
[/^\s*#\w+/, "keyword"],
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex"],
[/0[0-7']*[0-7]/, "number.octal"],
[/0[bB][0-1']*[0-1]/, "number.binary"],
[/\d[\d']*/, "number"],
[/\d/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", "@string"],
[/`/, "string", "@rawstring"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@doccomment"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
//Identical copy of comment above, except for the addition of .doc
doccomment: [
[/[^\/*]+/, "comment.doc"],
// [/\/\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(
[/\/\*/, "comment.doc.invalid"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
],
rawstring: [
[/[^\`]/, "string"],
[/`/, "string", "@pop"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+154
View File
@@ -0,0 +1,154 @@
define("vs/graphql-CHzgmf8E", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"""', close: '"""', notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"""', close: '"""' },
{ open: '"', close: '"' }
],
folding: {
offSide: true
}
};
const language = {
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: "invalid",
tokenPostfix: ".gql",
keywords: [
"null",
"true",
"false",
"query",
"mutation",
"subscription",
"extend",
"schema",
"directive",
"scalar",
"type",
"interface",
"union",
"enum",
"input",
"implements",
"fragment",
"on"
],
typeKeywords: ["Int", "Float", "String", "Boolean", "ID"],
directiveLocations: [
"SCHEMA",
"SCALAR",
"OBJECT",
"FIELD_DEFINITION",
"ARGUMENT_DEFINITION",
"INTERFACE",
"UNION",
"ENUM",
"ENUM_VALUE",
"INPUT_OBJECT",
"INPUT_FIELD_DEFINITION",
"QUERY",
"MUTATION",
"SUBSCRIPTION",
"FIELD",
"FRAGMENT_DEFINITION",
"FRAGMENT_SPREAD",
"INLINE_FRAGMENT",
"VARIABLE_DEFINITION"
],
operators: ["=", "!", "?", ":", "&", "|"],
// we include these common regular expressions
symbols: /[=!?:&|]+/,
// https://facebook.github.io/graphql/draft/#sec-String-Value
escapes: /\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// fields and argument names
[
/[a-z_][\w$]*/,
{
cases: {
"@keywords": "keyword",
"@default": "key.identifier"
}
}
],
// identify typed input variables
[
/[$][\w$]*/,
{
cases: {
"@keywords": "keyword",
"@default": "argument.identifier"
}
}
],
// to show class names nicely
[
/[A-Z][\w\$]*/,
{
cases: {
"@typeKeywords": "keyword",
"@default": "type.identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, { cases: { "@operators": "operator", "@default": "" } }],
// @ annotations.
// As an example, we emit a debugging log message on these tokens.
// Note: message are supressed during the first load -- change some lines to see them.
[/@\s*[a-zA-Z_\$][\w\$]*/, { token: "annotation", log: "annotation token: $0" }],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
[/"""/, { token: "string", next: "@mlstring", nextEmbedded: "markdown" }],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }]
],
mlstring: [
[/[^"]+/, "string"],
['"""', { token: "string", next: "@pop", nextEmbedded: "@pop" }]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/#.*$/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+415
View File
@@ -0,0 +1,415 @@
define("vs/handlebars-C_OonjWa", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
];
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
blockComment: ["{{!--", "--}}"]
},
brackets: [
["<!--", "-->"],
["<", ">"],
["{{", "}}"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "<", close: ">" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
onEnterRules: [
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
]
};
const language = {
defaultToken: "",
tokenPostfix: "",
// ignoreCase: true,
// The main tokenizer for our languages
tokenizer: {
root: [
[/\{\{!--/, "comment.block.start.handlebars", "@commentBlock"],
[/\{\{!/, "comment.start.handlebars", "@comment"],
[/\{\{/, { token: "@rematch", switchTo: "@handlebarsInSimpleState.root" }],
[/<!DOCTYPE/, "metatag.html", "@doctype"],
[/<!--/, "comment.html", "@commentHtml"],
[/(<)(\w+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
[/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
[/(<)([:\w]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/(<\/)(\w+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/</, "delimiter.html"],
[/\{/, "delimiter.html"],
[/[^<{]+/]
// text
],
doctype: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.comment"
}
],
[/[^>]+/, "metatag.content.html"],
[/>/, "metatag.html", "@pop"]
],
comment: [
[/\}\}/, "comment.end.handlebars", "@pop"],
[/./, "comment.content.handlebars"]
],
commentBlock: [
[/--\}\}/, "comment.block.end.handlebars", "@pop"],
[/./, "comment.content.handlebars"]
],
commentHtml: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.comment"
}
],
[/-->/, "comment.html", "@pop"],
[/[^-]+/, "comment.content.html"],
[/./, "comment.content.html"]
],
otherTag: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.otherTag"
}
],
[/\/?>/, "delimiter.html", "@pop"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
// whitespace
],
// -- BEGIN <script> tags handling
// After <script
script: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.script"
}
],
[/type/, "attribute.name", "@scriptAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(script\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <script ... type
scriptAfterType: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptAfterType"
}
],
[/=/, "delimiter", "@scriptAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type =
scriptAfterTypeEquals: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type = $S2
scriptWithCustomType: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.scriptWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
scriptEmbedded: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInEmbeddedState.scriptEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <script> tags handling
// -- BEGIN <style> tags handling
// After <style
style: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.style"
}
],
[/type/, "attribute.name", "@styleAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(style\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <style ... type
styleAfterType: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleAfterType"
}
],
[/=/, "delimiter", "@styleAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type =
styleAfterTypeEquals: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type = $S2
styleWithCustomType: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInSimpleState.styleWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
styleEmbedded: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@handlebarsInEmbeddedState.styleEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <style> tags handling
handlebarsInSimpleState: [
[/\{\{\{?/, "delimiter.handlebars"],
[/\}\}\}?/, { token: "delimiter.handlebars", switchTo: "@$S2.$S3" }],
{ include: "handlebarsRoot" }
],
handlebarsInEmbeddedState: [
[/\{\{\{?/, "delimiter.handlebars"],
[
/\}\}\}?/,
{
token: "delimiter.handlebars",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}
],
{ include: "handlebarsRoot" }
],
handlebarsRoot: [
[/"[^"]*"/, "string.handlebars"],
[/[#/][^\s}]+/, "keyword.helper.handlebars"],
[/else\b/, "keyword.helper.handlebars"],
[/[\s]+/],
[/[^}]/, "variable.parameter.handlebars"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+186
View File
@@ -0,0 +1,186 @@
define("vs/hcl-ChD4paVH", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".hcl",
keywords: [
"var",
"local",
"path",
"for_each",
"any",
"string",
"number",
"bool",
"true",
"false",
"null",
"if ",
"else ",
"endif ",
"for ",
"in",
"endfor"
],
operators: [
"=",
">=",
"<=",
"==",
"!=",
"+",
"-",
"*",
"/",
"%",
"&&",
"||",
"!",
"<",
">",
"?",
"...",
":"
],
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
terraformFunctions: /(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,
terraformMainBlocks: /(module|data|terraform|resource|provider|variable|output|locals)/,
tokenizer: {
root: [
// highlight main blocks
[
/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
["type", "", "string", "", "string", "", "@brackets"]
],
// highlight all the remaining blocks
[
/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,
["identifier", "", "string", "", "string", "", "@brackets"]
],
// highlight block
[
/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,
["identifier", "", "string", "", "operator", "", "@brackets"]
],
// terraform general highlight - shared with expressions
{ include: "@terraform" }
],
terraform: [
// highlight terraform functions
[/@terraformFunctions(\()/, ["type", "@brackets"]],
// all other words are variables or keywords
[
/[a-zA-Z_]\w*-*/,
// must work with variables such as foo-bar and also with negative numbers
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "variable"
}
}
],
{ include: "@whitespace" },
{ include: "@heredoc" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "operator",
"@default": ""
}
}
],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float"],
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\d[\d']*/, "number"],
[/\d/, "number"],
[/[;,.]/, "delimiter"],
// delimiter: after number because of .\d floats
// strings
[/"/, "string", "@string"],
// this will include expressions
[/'/, "invalid"]
],
heredoc: [
[/<<[-]*\s*["]?([\w\-]+)["]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
],
heredocBody: [
[
/([\w\-]+)$/,
{
cases: {
"$1==$S2": [
{
token: "string.heredoc.delimiter",
next: "@popall"
}
],
"@default": "string.heredoc"
}
}
],
[/./, "string.heredoc"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"],
[/#.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
string: [
[/\$\{/, { token: "delimiter", next: "@stringExpression" }],
[/[^\\"\$]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@popall"]
],
stringInsideExpression: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
],
stringExpression: [
[/\}/, { token: "delimiter", next: "@pop" }],
[/"/, "string", "@stringInsideExpression"],
{ include: "@terraform" }
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+304
View File
@@ -0,0 +1,304 @@
define("vs/html-Bey8D4EY", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
];
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
blockComment: ["<!--", "-->"]
},
brackets: [
["<!--", "-->"],
["<", ">"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" }
],
onEnterRules: [
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
],
folding: {
markers: {
start: new RegExp("^\\s*<!--\\s*#region\\b.*-->"),
end: new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".html",
ignoreCase: true,
// The main tokenizer for our languages
tokenizer: {
root: [
[/<!DOCTYPE/, "metatag", "@doctype"],
[/<!--/, "comment", "@comment"],
[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, ["delimiter", "tag", "", "delimiter"]],
[/(<)(script)/, ["delimiter", { token: "tag", next: "@script" }]],
[/(<)(style)/, ["delimiter", { token: "tag", next: "@style" }]],
[/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
[/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter", { token: "tag", next: "@otherTag" }]],
[/</, "delimiter"],
[/[^<]+/]
// text
],
doctype: [
[/[^>]+/, "metatag.content"],
[/>/, "metatag", "@pop"]
],
comment: [
[/-->/, "comment", "@pop"],
[/[^-]+/, "comment.content"],
[/./, "comment.content"]
],
otherTag: [
[/\/?>/, "delimiter", "@pop"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
// whitespace
],
// -- BEGIN <script> tags handling
// After <script
script: [
[/type/, "attribute.name", "@scriptAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}
],
[/[ \t\r\n]+/],
// whitespace
[/(<\/)(script\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
],
// After <script ... type
scriptAfterType: [
[/=/, "delimiter", "@scriptAfterTypeEquals"],
[
/>/,
{
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type =
scriptAfterTypeEquals: [
[
/"module"/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.text/javascript"
}
],
[
/'module'/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.text/javascript"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter",
next: "@scriptEmbedded",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type = $S2
scriptWithCustomType: [
[
/>/,
{
token: "delimiter",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
scriptEmbedded: [
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
[/[^<]+/, ""]
],
// -- END <script> tags handling
// -- BEGIN <style> tags handling
// After <style
style: [
[/type/, "attribute.name", "@styleAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}
],
[/[ \t\r\n]+/],
// whitespace
[/(<\/)(style\s*)(>)/, ["delimiter", "tag", { token: "delimiter", next: "@pop" }]]
],
// After <style ... type
styleAfterType: [
[/=/, "delimiter", "@styleAfterTypeEquals"],
[
/>/,
{
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type =
styleAfterTypeEquals: [
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter",
next: "@styleEmbedded",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type = $S2
styleWithCustomType: [
[
/>/,
{
token: "delimiter",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
styleEmbedded: [
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
[/[^<]+/, ""]
]
// -- END <style> tags handling
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+223
View File
@@ -0,0 +1,223 @@
define("vs/htmlMode-Cz7zhZ7P", ["module", "exports", "./workers-p6mTW5Va", "./lspLanguageFeatures-BnY_dL8Y", "./editor.api-CykLys8L"], (function(module, exports, workers, lspLanguageFeatures, editor_api) {
"use strict";
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
class WorkerManager {
constructor(defaults) {
this._defaults = defaults;
this._worker = null;
this._client = null;
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
this._lastUsedTime = 0;
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
}
_stopWorker() {
if (this._worker) {
this._worker.dispose();
this._worker = null;
}
this._client = null;
}
dispose() {
clearInterval(this._idleCheckInterval);
this._configChangeListener.dispose();
this._stopWorker();
}
_checkIfIdle() {
if (!this._worker) {
return;
}
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
this._stopWorker();
}
}
_getClient() {
this._lastUsedTime = Date.now();
if (!this._client) {
this._worker = workers.createWebWorker({
// module that exports the create() method and returns a `HTMLWorker` instance
moduleId: "vs/language/html/htmlWorker",
createWorker: () => new Worker(new URL(
/* @vite-ignore */
"" + new URL(require.toUrl("./assets/html.worker-Dp8eKPfv.js"), document.baseURI).href,
new URL(module.uri, document.baseURI).href
), { type: "module" }),
// passed in to the create() method
createData: {
languageSettings: this._defaults.options,
languageId: this._defaults.languageId
},
label: this._defaults.languageId
});
this._client = this._worker.getProxy();
}
return this._client;
}
getLanguageServiceWorker(...resources) {
let _client;
return this._getClient().then((client) => {
_client = client;
}).then((_) => {
if (this._worker) {
return this._worker.withSyncedResources(resources);
}
}).then((_) => _client);
}
}
class HTMLCompletionAdapter extends lspLanguageFeatures.CompletionAdapter {
constructor(worker) {
super(worker, [".", ":", "<", '"', "=", "/"]);
}
}
function setupMode1(defaults) {
const client = new WorkerManager(defaults);
const worker = (...uris) => {
return client.getLanguageServiceWorker(...uris);
};
let languageId = defaults.languageId;
editor_api.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker));
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker));
editor_api.languages.registerDocumentHighlightProvider(
languageId,
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
);
editor_api.languages.registerLinkProvider(languageId, new lspLanguageFeatures.DocumentLinkAdapter(worker));
editor_api.languages.registerFoldingRangeProvider(
languageId,
new lspLanguageFeatures.FoldingRangeAdapter(worker)
);
editor_api.languages.registerDocumentSymbolProvider(
languageId,
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
);
editor_api.languages.registerSelectionRangeProvider(
languageId,
new lspLanguageFeatures.SelectionRangeAdapter(worker)
);
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker));
if (languageId === "html") {
editor_api.languages.registerDocumentFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
);
editor_api.languages.registerDocumentRangeFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
);
}
}
function setupMode(defaults) {
const disposables = [];
const providers = [];
const client = new WorkerManager(defaults);
disposables.push(client);
const worker = (...uris) => {
return client.getLanguageServiceWorker(...uris);
};
function registerProviders() {
const { languageId, modeConfiguration } = defaults;
disposeAll(providers);
if (modeConfiguration.completionItems) {
providers.push(
editor_api.languages.registerCompletionItemProvider(languageId, new HTMLCompletionAdapter(worker))
);
}
if (modeConfiguration.hovers) {
providers.push(
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
);
}
if (modeConfiguration.documentHighlights) {
providers.push(
editor_api.languages.registerDocumentHighlightProvider(
languageId,
new lspLanguageFeatures.DocumentHighlightAdapter(worker)
)
);
}
if (modeConfiguration.links) {
providers.push(
editor_api.languages.registerLinkProvider(languageId, new lspLanguageFeatures.DocumentLinkAdapter(worker))
);
}
if (modeConfiguration.documentSymbols) {
providers.push(
editor_api.languages.registerDocumentSymbolProvider(
languageId,
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
)
);
}
if (modeConfiguration.rename) {
providers.push(
editor_api.languages.registerRenameProvider(languageId, new lspLanguageFeatures.RenameAdapter(worker))
);
}
if (modeConfiguration.foldingRanges) {
providers.push(
editor_api.languages.registerFoldingRangeProvider(
languageId,
new lspLanguageFeatures.FoldingRangeAdapter(worker)
)
);
}
if (modeConfiguration.selectionRanges) {
providers.push(
editor_api.languages.registerSelectionRangeProvider(
languageId,
new lspLanguageFeatures.SelectionRangeAdapter(worker)
)
);
}
if (modeConfiguration.documentFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
)
);
}
if (modeConfiguration.documentRangeFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentRangeFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
)
);
}
}
registerProviders();
disposables.push(asDisposable(providers));
return asDisposable(disposables);
}
function asDisposable(disposables) {
return { dispose: () => disposeAll(disposables) };
}
function disposeAll(disposables) {
while (disposables.length) {
disposables.pop().dispose();
}
}
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
exports.fromPosition = lspLanguageFeatures.fromPosition;
exports.fromRange = lspLanguageFeatures.fromRange;
exports.toRange = lspLanguageFeatures.toRange;
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
exports.WorkerManager = WorkerManager;
exports.setupMode = setupMode;
exports.setupMode1 = setupMode1;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+74
View File
@@ -0,0 +1,74 @@
define("vs/ini-CdZgSnLI", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".ini",
// we include these common regular expressions
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// sections
[/^\[[^\]]*\]/, "metatag"],
// keys
[/(^\w+)(\s*)(\=)/, ["key", "", "delimiter"]],
// whitespace
{ include: "@whitespace" },
// numbers
[/\d+/, "number"],
// strings: recover on non-terminated strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", '@string."'],
[/'/, "string", "@string.'"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/^\s*[#;].*$/, "comment"]
],
string: [
[/[^\\"']+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+235
View File
@@ -0,0 +1,235 @@
define("vs/java-vwwkdu2k", ["exports"], (function(exports) {
"use strict";
const conf = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "<", close: ">" }
],
folding: {
markers: {
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".java",
keywords: [
"abstract",
"continue",
"for",
"new",
"switch",
"assert",
"default",
"goto",
"package",
"synchronized",
"boolean",
"do",
"if",
"private",
"this",
"break",
"double",
"implements",
"protected",
"throw",
"byte",
"else",
"import",
"public",
"throws",
"case",
"enum",
"instanceof",
"return",
"transient",
"catch",
"extends",
"int",
"short",
"try",
"char",
"final",
"interface",
"static",
"void",
"class",
"finally",
"long",
"strictfp",
"volatile",
"const",
"float",
"native",
"super",
"while",
"true",
"false",
"yield",
"record",
"sealed",
"non-sealed",
"permits"
],
operators: [
"=",
">",
"<",
"!",
"~",
"?",
":",
"==",
"<=",
">=",
"!=",
"&&",
"||",
"++",
"--",
"+",
"-",
"*",
"/",
"&",
"|",
"^",
"%",
"<<",
">>",
">>>",
"+=",
"-=",
"*=",
"/=",
"&=",
"|=",
"^=",
"%=",
"<<=",
">>=",
">>>="
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+(_+\d+)*/,
octaldigits: /[0-7]+(_+[0-7]+)*/,
binarydigits: /[0-1]+(_+[0-1]+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
// The main tokenizer for our languages
tokenizer: {
root: [
// Special keyword with a dash
["non-sealed", "keyword.non-sealed"],
// identifiers and keywords
[
/[a-zA-Z_$][\w$]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// @ annotations.
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
// numbers
[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/, "number.float"],
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/, "number.float"],
[/0[xX](@hexdigits)[Ll]?/, "number.hex"],
[/0(@octaldigits)[Ll]?/, "number.octal"],
[/0[bB](@binarydigits)[Ll]?/, "number.binary"],
[/(@digits)[fFdD]/, "number.float"],
[/(@digits)[lL]?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"""/, "string", "@multistring"],
[/"/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@javadoc"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
// [/\/\*/, 'comment', '@push' ], // nested comment not allowed :-(
// [/\/\*/, 'comment.invalid' ], // this breaks block comments in the shape of /* //*/
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
//Identical copy of comment above, except for the addition of .doc
javadoc: [
[/[^\/*]+/, "comment.doc"],
// [/\/\*/, 'comment.doc', '@push' ], // nested comment not allowed :-(
[/\/\*/, "comment.doc.invalid"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
],
multistring: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"""/, "string", "@pop"],
[/./, "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+72
View File
@@ -0,0 +1,72 @@
define("vs/javascript-BgQ1b_eP", ["exports", "./typescript-0SV7N1Xc"], (function(exports, typescript) {
"use strict";
const conf = typescript.conf;
const language = {
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: "invalid",
tokenPostfix: ".js",
keywords: [
"break",
"case",
"catch",
"class",
"continue",
"const",
"constructor",
"debugger",
"default",
"delete",
"do",
"else",
"export",
"extends",
"false",
"finally",
"for",
"from",
"function",
"get",
"if",
"import",
"in",
"instanceof",
"let",
"new",
"null",
"return",
"set",
"static",
"super",
"switch",
"symbol",
"this",
"throw",
"true",
"try",
"typeof",
"undefined",
"var",
"void",
"while",
"with",
"yield",
"async",
"await",
"of"
],
typeKeywords: [],
operators: typescript.language.operators,
symbols: typescript.language.symbols,
escapes: typescript.language.escapes,
digits: typescript.language.digits,
octaldigits: typescript.language.octaldigits,
binarydigits: typescript.language.binarydigits,
hexdigits: typescript.language.hexdigits,
regexpctl: typescript.language.regexpctl,
regexpesc: typescript.language.regexpesc,
tokenizer: typescript.language.tokenizer
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+930
View File
@@ -0,0 +1,930 @@
define("vs/jsonMode-CCwfh_OB", ["module", "exports", "./workers-p6mTW5Va", "./lspLanguageFeatures-BnY_dL8Y", "./editor.api-CykLys8L"], (function(module, exports, workers, lspLanguageFeatures, editor_api) {
"use strict";
const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
class WorkerManager {
constructor(defaults) {
this._defaults = defaults;
this._worker = null;
this._client = null;
this._idleCheckInterval = window.setInterval(() => this._checkIfIdle(), 30 * 1e3);
this._lastUsedTime = 0;
this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());
}
_stopWorker() {
if (this._worker) {
this._worker.dispose();
this._worker = null;
}
this._client = null;
}
dispose() {
clearInterval(this._idleCheckInterval);
this._configChangeListener.dispose();
this._stopWorker();
}
_checkIfIdle() {
if (!this._worker) {
return;
}
let timePassedSinceLastUsed = Date.now() - this._lastUsedTime;
if (timePassedSinceLastUsed > STOP_WHEN_IDLE_FOR) {
this._stopWorker();
}
}
_getClient() {
this._lastUsedTime = Date.now();
if (!this._client) {
this._worker = workers.createWebWorker({
// module that exports the create() method and returns a `JSONWorker` instance
moduleId: "vs/language/json/jsonWorker",
createWorker: () => new Worker(new URL(
/* @vite-ignore */
"" + new URL(require.toUrl("./assets/json.worker-CvNsV1ln.js"), document.baseURI).href,
new URL(module.uri, document.baseURI).href
), { type: "module" }),
label: this._defaults.languageId,
// passed in to the create() method
createData: {
languageSettings: this._defaults.diagnosticsOptions,
languageId: this._defaults.languageId,
enableSchemaRequest: this._defaults.diagnosticsOptions.enableSchemaRequest
}
});
this._client = this._worker.getProxy();
}
return this._client;
}
getLanguageServiceWorker(...resources) {
let _client;
return this._getClient().then((client) => {
_client = client;
}).then((_) => {
if (this._worker) {
return this._worker.withSyncedResources(resources);
}
}).then((_) => _client);
}
}
function createScanner$1(text, ignoreTrivia = false) {
const len = text.length;
let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
function scanHexDigits(count, exact) {
let digits = 0;
let value2 = 0;
while (digits < count || false) {
let ch = text.charCodeAt(pos);
if (ch >= 48 && ch <= 57) {
value2 = value2 * 16 + ch - 48;
} else if (ch >= 65 && ch <= 70) {
value2 = value2 * 16 + ch - 65 + 10;
} else if (ch >= 97 && ch <= 102) {
value2 = value2 * 16 + ch - 97 + 10;
} else {
break;
}
pos++;
digits++;
}
if (digits < count) {
value2 = -1;
}
return value2;
}
function setPosition(newPosition) {
pos = newPosition;
value = "";
tokenOffset = 0;
token = 16;
scanError = 0;
}
function scanNumber() {
let start = pos;
if (text.charCodeAt(pos) === 48) {
pos++;
} else {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
}
if (pos < text.length && text.charCodeAt(pos) === 46) {
pos++;
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
} else {
scanError = 3;
return text.substring(start, pos);
}
}
let end = pos;
if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
pos++;
if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) {
pos++;
}
if (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
while (pos < text.length && isDigit(text.charCodeAt(pos))) {
pos++;
}
end = pos;
} else {
scanError = 3;
}
}
return text.substring(start, end);
}
function scanString() {
let result = "", start = pos;
while (true) {
if (pos >= len) {
result += text.substring(start, pos);
scanError = 2;
break;
}
const ch = text.charCodeAt(pos);
if (ch === 34) {
result += text.substring(start, pos);
pos++;
break;
}
if (ch === 92) {
result += text.substring(start, pos);
pos++;
if (pos >= len) {
scanError = 2;
break;
}
const ch2 = text.charCodeAt(pos++);
switch (ch2) {
case 34:
result += '"';
break;
case 92:
result += "\\";
break;
case 47:
result += "/";
break;
case 98:
result += "\b";
break;
case 102:
result += "\f";
break;
case 110:
result += "\n";
break;
case 114:
result += "\r";
break;
case 116:
result += " ";
break;
case 117:
const ch3 = scanHexDigits(4);
if (ch3 >= 0) {
result += String.fromCharCode(ch3);
} else {
scanError = 4;
}
break;
default:
scanError = 5;
}
start = pos;
continue;
}
if (ch >= 0 && ch <= 31) {
if (isLineBreak(ch)) {
result += text.substring(start, pos);
scanError = 2;
break;
} else {
scanError = 6;
}
}
pos++;
}
return result;
}
function scanNext() {
value = "";
scanError = 0;
tokenOffset = pos;
lineStartOffset = lineNumber;
prevTokenLineStartOffset = tokenLineStartOffset;
if (pos >= len) {
tokenOffset = len;
return token = 17;
}
let code = text.charCodeAt(pos);
if (isWhiteSpace(code)) {
do {
pos++;
value += String.fromCharCode(code);
code = text.charCodeAt(pos);
} while (isWhiteSpace(code));
return token = 15;
}
if (isLineBreak(code)) {
pos++;
value += String.fromCharCode(code);
if (code === 13 && text.charCodeAt(pos) === 10) {
pos++;
value += "\n";
}
lineNumber++;
tokenLineStartOffset = pos;
return token = 14;
}
switch (code) {
// tokens: []{}:,
case 123:
pos++;
return token = 1;
case 125:
pos++;
return token = 2;
case 91:
pos++;
return token = 3;
case 93:
pos++;
return token = 4;
case 58:
pos++;
return token = 6;
case 44:
pos++;
return token = 5;
// strings
case 34:
pos++;
value = scanString();
return token = 10;
// comments
case 47:
const start = pos - 1;
if (text.charCodeAt(pos + 1) === 47) {
pos += 2;
while (pos < len) {
if (isLineBreak(text.charCodeAt(pos))) {
break;
}
pos++;
}
value = text.substring(start, pos);
return token = 12;
}
if (text.charCodeAt(pos + 1) === 42) {
pos += 2;
const safeLength = len - 1;
let commentClosed = false;
while (pos < safeLength) {
const ch = text.charCodeAt(pos);
if (ch === 42 && text.charCodeAt(pos + 1) === 47) {
pos += 2;
commentClosed = true;
break;
}
pos++;
if (isLineBreak(ch)) {
if (ch === 13 && text.charCodeAt(pos) === 10) {
pos++;
}
lineNumber++;
tokenLineStartOffset = pos;
}
}
if (!commentClosed) {
pos++;
scanError = 1;
}
value = text.substring(start, pos);
return token = 13;
}
value += String.fromCharCode(code);
pos++;
return token = 16;
// numbers
case 45:
value += String.fromCharCode(code);
pos++;
if (pos === len || !isDigit(text.charCodeAt(pos))) {
return token = 16;
}
// found a minus, followed by a number so
// we fall through to proceed with scanning
// numbers
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
value += scanNumber();
return token = 11;
// literals and unknown symbols
default:
while (pos < len && isUnknownContentCharacter(code)) {
pos++;
code = text.charCodeAt(pos);
}
if (tokenOffset !== pos) {
value = text.substring(tokenOffset, pos);
switch (value) {
case "true":
return token = 8;
case "false":
return token = 9;
case "null":
return token = 7;
}
return token = 16;
}
value += String.fromCharCode(code);
pos++;
return token = 16;
}
}
function isUnknownContentCharacter(code) {
if (isWhiteSpace(code) || isLineBreak(code)) {
return false;
}
switch (code) {
case 125:
case 93:
case 123:
case 91:
case 34:
case 58:
case 44:
case 47:
return false;
}
return true;
}
function scanNextNonTrivia() {
let result;
do {
result = scanNext();
} while (result >= 12 && result <= 15);
return result;
}
return {
setPosition,
getPosition: () => pos,
scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
getToken: () => token,
getTokenValue: () => value,
getTokenOffset: () => tokenOffset,
getTokenLength: () => pos - tokenOffset,
getTokenStartLine: () => lineStartOffset,
getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,
getTokenError: () => scanError
};
}
function isWhiteSpace(ch) {
return ch === 32 || ch === 9;
}
function isLineBreak(ch) {
return ch === 10 || ch === 13;
}
function isDigit(ch) {
return ch >= 48 && ch <= 57;
}
var CharacterCodes;
(function(CharacterCodes2) {
CharacterCodes2[CharacterCodes2["lineFeed"] = 10] = "lineFeed";
CharacterCodes2[CharacterCodes2["carriageReturn"] = 13] = "carriageReturn";
CharacterCodes2[CharacterCodes2["space"] = 32] = "space";
CharacterCodes2[CharacterCodes2["_0"] = 48] = "_0";
CharacterCodes2[CharacterCodes2["_1"] = 49] = "_1";
CharacterCodes2[CharacterCodes2["_2"] = 50] = "_2";
CharacterCodes2[CharacterCodes2["_3"] = 51] = "_3";
CharacterCodes2[CharacterCodes2["_4"] = 52] = "_4";
CharacterCodes2[CharacterCodes2["_5"] = 53] = "_5";
CharacterCodes2[CharacterCodes2["_6"] = 54] = "_6";
CharacterCodes2[CharacterCodes2["_7"] = 55] = "_7";
CharacterCodes2[CharacterCodes2["_8"] = 56] = "_8";
CharacterCodes2[CharacterCodes2["_9"] = 57] = "_9";
CharacterCodes2[CharacterCodes2["a"] = 97] = "a";
CharacterCodes2[CharacterCodes2["b"] = 98] = "b";
CharacterCodes2[CharacterCodes2["c"] = 99] = "c";
CharacterCodes2[CharacterCodes2["d"] = 100] = "d";
CharacterCodes2[CharacterCodes2["e"] = 101] = "e";
CharacterCodes2[CharacterCodes2["f"] = 102] = "f";
CharacterCodes2[CharacterCodes2["g"] = 103] = "g";
CharacterCodes2[CharacterCodes2["h"] = 104] = "h";
CharacterCodes2[CharacterCodes2["i"] = 105] = "i";
CharacterCodes2[CharacterCodes2["j"] = 106] = "j";
CharacterCodes2[CharacterCodes2["k"] = 107] = "k";
CharacterCodes2[CharacterCodes2["l"] = 108] = "l";
CharacterCodes2[CharacterCodes2["m"] = 109] = "m";
CharacterCodes2[CharacterCodes2["n"] = 110] = "n";
CharacterCodes2[CharacterCodes2["o"] = 111] = "o";
CharacterCodes2[CharacterCodes2["p"] = 112] = "p";
CharacterCodes2[CharacterCodes2["q"] = 113] = "q";
CharacterCodes2[CharacterCodes2["r"] = 114] = "r";
CharacterCodes2[CharacterCodes2["s"] = 115] = "s";
CharacterCodes2[CharacterCodes2["t"] = 116] = "t";
CharacterCodes2[CharacterCodes2["u"] = 117] = "u";
CharacterCodes2[CharacterCodes2["v"] = 118] = "v";
CharacterCodes2[CharacterCodes2["w"] = 119] = "w";
CharacterCodes2[CharacterCodes2["x"] = 120] = "x";
CharacterCodes2[CharacterCodes2["y"] = 121] = "y";
CharacterCodes2[CharacterCodes2["z"] = 122] = "z";
CharacterCodes2[CharacterCodes2["A"] = 65] = "A";
CharacterCodes2[CharacterCodes2["B"] = 66] = "B";
CharacterCodes2[CharacterCodes2["C"] = 67] = "C";
CharacterCodes2[CharacterCodes2["D"] = 68] = "D";
CharacterCodes2[CharacterCodes2["E"] = 69] = "E";
CharacterCodes2[CharacterCodes2["F"] = 70] = "F";
CharacterCodes2[CharacterCodes2["G"] = 71] = "G";
CharacterCodes2[CharacterCodes2["H"] = 72] = "H";
CharacterCodes2[CharacterCodes2["I"] = 73] = "I";
CharacterCodes2[CharacterCodes2["J"] = 74] = "J";
CharacterCodes2[CharacterCodes2["K"] = 75] = "K";
CharacterCodes2[CharacterCodes2["L"] = 76] = "L";
CharacterCodes2[CharacterCodes2["M"] = 77] = "M";
CharacterCodes2[CharacterCodes2["N"] = 78] = "N";
CharacterCodes2[CharacterCodes2["O"] = 79] = "O";
CharacterCodes2[CharacterCodes2["P"] = 80] = "P";
CharacterCodes2[CharacterCodes2["Q"] = 81] = "Q";
CharacterCodes2[CharacterCodes2["R"] = 82] = "R";
CharacterCodes2[CharacterCodes2["S"] = 83] = "S";
CharacterCodes2[CharacterCodes2["T"] = 84] = "T";
CharacterCodes2[CharacterCodes2["U"] = 85] = "U";
CharacterCodes2[CharacterCodes2["V"] = 86] = "V";
CharacterCodes2[CharacterCodes2["W"] = 87] = "W";
CharacterCodes2[CharacterCodes2["X"] = 88] = "X";
CharacterCodes2[CharacterCodes2["Y"] = 89] = "Y";
CharacterCodes2[CharacterCodes2["Z"] = 90] = "Z";
CharacterCodes2[CharacterCodes2["asterisk"] = 42] = "asterisk";
CharacterCodes2[CharacterCodes2["backslash"] = 92] = "backslash";
CharacterCodes2[CharacterCodes2["closeBrace"] = 125] = "closeBrace";
CharacterCodes2[CharacterCodes2["closeBracket"] = 93] = "closeBracket";
CharacterCodes2[CharacterCodes2["colon"] = 58] = "colon";
CharacterCodes2[CharacterCodes2["comma"] = 44] = "comma";
CharacterCodes2[CharacterCodes2["dot"] = 46] = "dot";
CharacterCodes2[CharacterCodes2["doubleQuote"] = 34] = "doubleQuote";
CharacterCodes2[CharacterCodes2["minus"] = 45] = "minus";
CharacterCodes2[CharacterCodes2["openBrace"] = 123] = "openBrace";
CharacterCodes2[CharacterCodes2["openBracket"] = 91] = "openBracket";
CharacterCodes2[CharacterCodes2["plus"] = 43] = "plus";
CharacterCodes2[CharacterCodes2["slash"] = 47] = "slash";
CharacterCodes2[CharacterCodes2["formFeed"] = 12] = "formFeed";
CharacterCodes2[CharacterCodes2["tab"] = 9] = "tab";
})(CharacterCodes || (CharacterCodes = {}));
new Array(20).fill(0).map((_, index) => {
return " ".repeat(index);
});
const maxCachedValues = 200;
({
" ": {
"\n": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\n" + " ".repeat(index);
}),
"\r": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\r" + " ".repeat(index);
}),
"\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\r\n" + " ".repeat(index);
})
},
" ": {
"\n": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\n" + " ".repeat(index);
}),
"\r": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\r" + " ".repeat(index);
}),
"\r\n": new Array(maxCachedValues).fill(0).map((_, index) => {
return "\r\n" + " ".repeat(index);
})
}
});
var ParseOptions;
(function(ParseOptions2) {
ParseOptions2.DEFAULT = {
allowTrailingComma: false
};
})(ParseOptions || (ParseOptions = {}));
const createScanner = createScanner$1;
var ScanError;
(function(ScanError2) {
ScanError2[ScanError2["None"] = 0] = "None";
ScanError2[ScanError2["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
ScanError2[ScanError2["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
ScanError2[ScanError2["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
ScanError2[ScanError2["InvalidUnicode"] = 4] = "InvalidUnicode";
ScanError2[ScanError2["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
ScanError2[ScanError2["InvalidCharacter"] = 6] = "InvalidCharacter";
})(ScanError || (ScanError = {}));
var SyntaxKind;
(function(SyntaxKind2) {
SyntaxKind2[SyntaxKind2["OpenBraceToken"] = 1] = "OpenBraceToken";
SyntaxKind2[SyntaxKind2["CloseBraceToken"] = 2] = "CloseBraceToken";
SyntaxKind2[SyntaxKind2["OpenBracketToken"] = 3] = "OpenBracketToken";
SyntaxKind2[SyntaxKind2["CloseBracketToken"] = 4] = "CloseBracketToken";
SyntaxKind2[SyntaxKind2["CommaToken"] = 5] = "CommaToken";
SyntaxKind2[SyntaxKind2["ColonToken"] = 6] = "ColonToken";
SyntaxKind2[SyntaxKind2["NullKeyword"] = 7] = "NullKeyword";
SyntaxKind2[SyntaxKind2["TrueKeyword"] = 8] = "TrueKeyword";
SyntaxKind2[SyntaxKind2["FalseKeyword"] = 9] = "FalseKeyword";
SyntaxKind2[SyntaxKind2["StringLiteral"] = 10] = "StringLiteral";
SyntaxKind2[SyntaxKind2["NumericLiteral"] = 11] = "NumericLiteral";
SyntaxKind2[SyntaxKind2["LineCommentTrivia"] = 12] = "LineCommentTrivia";
SyntaxKind2[SyntaxKind2["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
SyntaxKind2[SyntaxKind2["LineBreakTrivia"] = 14] = "LineBreakTrivia";
SyntaxKind2[SyntaxKind2["Trivia"] = 15] = "Trivia";
SyntaxKind2[SyntaxKind2["Unknown"] = 16] = "Unknown";
SyntaxKind2[SyntaxKind2["EOF"] = 17] = "EOF";
})(SyntaxKind || (SyntaxKind = {}));
var ParseErrorCode;
(function(ParseErrorCode2) {
ParseErrorCode2[ParseErrorCode2["InvalidSymbol"] = 1] = "InvalidSymbol";
ParseErrorCode2[ParseErrorCode2["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
ParseErrorCode2[ParseErrorCode2["PropertyNameExpected"] = 3] = "PropertyNameExpected";
ParseErrorCode2[ParseErrorCode2["ValueExpected"] = 4] = "ValueExpected";
ParseErrorCode2[ParseErrorCode2["ColonExpected"] = 5] = "ColonExpected";
ParseErrorCode2[ParseErrorCode2["CommaExpected"] = 6] = "CommaExpected";
ParseErrorCode2[ParseErrorCode2["CloseBraceExpected"] = 7] = "CloseBraceExpected";
ParseErrorCode2[ParseErrorCode2["CloseBracketExpected"] = 8] = "CloseBracketExpected";
ParseErrorCode2[ParseErrorCode2["EndOfFileExpected"] = 9] = "EndOfFileExpected";
ParseErrorCode2[ParseErrorCode2["InvalidCommentToken"] = 10] = "InvalidCommentToken";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
ParseErrorCode2[ParseErrorCode2["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
ParseErrorCode2[ParseErrorCode2["InvalidUnicode"] = 14] = "InvalidUnicode";
ParseErrorCode2[ParseErrorCode2["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
ParseErrorCode2[ParseErrorCode2["InvalidCharacter"] = 16] = "InvalidCharacter";
})(ParseErrorCode || (ParseErrorCode = {}));
function createTokenizationSupport(supportComments) {
return {
getInitialState: () => new JSONState(null, null, false, null),
tokenize: (line, state) => tokenize(supportComments, line, state)
};
}
const TOKEN_DELIM_OBJECT = "delimiter.bracket.json";
const TOKEN_DELIM_ARRAY = "delimiter.array.json";
const TOKEN_DELIM_COLON = "delimiter.colon.json";
const TOKEN_DELIM_COMMA = "delimiter.comma.json";
const TOKEN_VALUE_BOOLEAN = "keyword.json";
const TOKEN_VALUE_NULL = "keyword.json";
const TOKEN_VALUE_STRING = "string.value.json";
const TOKEN_VALUE_NUMBER = "number.json";
const TOKEN_PROPERTY_NAME = "string.key.json";
const TOKEN_COMMENT_BLOCK = "comment.block.json";
const TOKEN_COMMENT_LINE = "comment.line.json";
class ParentsStack {
constructor(parent, type) {
this.parent = parent;
this.type = type;
}
static pop(parents) {
if (parents) {
return parents.parent;
}
return null;
}
static push(parents, type) {
return new ParentsStack(parents, type);
}
static equals(a, b) {
if (!a && !b) {
return true;
}
if (!a || !b) {
return false;
}
while (a && b) {
if (a === b) {
return true;
}
if (a.type !== b.type) {
return false;
}
a = a.parent;
b = b.parent;
}
return true;
}
}
class JSONState {
constructor(state, scanError, lastWasColon, parents) {
this._state = state;
this.scanError = scanError;
this.lastWasColon = lastWasColon;
this.parents = parents;
}
clone() {
return new JSONState(this._state, this.scanError, this.lastWasColon, this.parents);
}
equals(other) {
if (other === this) {
return true;
}
if (!other || !(other instanceof JSONState)) {
return false;
}
return this.scanError === other.scanError && this.lastWasColon === other.lastWasColon && ParentsStack.equals(this.parents, other.parents);
}
getStateData() {
return this._state;
}
setStateData(state) {
this._state = state;
}
}
function tokenize(comments, line, state, offsetDelta = 0) {
let numberOfInsertedCharacters = 0;
let adjustOffset = false;
switch (state.scanError) {
case 2:
line = '"' + line;
numberOfInsertedCharacters = 1;
break;
case 1:
line = "/*" + line;
numberOfInsertedCharacters = 2;
break;
}
const scanner = createScanner(line);
let lastWasColon = state.lastWasColon;
let parents = state.parents;
const ret = {
tokens: [],
endState: state.clone()
};
while (true) {
let offset = offsetDelta + scanner.getPosition();
let type = "";
const kind = scanner.scan();
if (kind === 17) {
break;
}
if (offset === offsetDelta + scanner.getPosition()) {
throw new Error(
"Scanner did not advance, next 3 characters are: " + line.substr(scanner.getPosition(), 3)
);
}
if (adjustOffset) {
offset -= numberOfInsertedCharacters;
}
adjustOffset = numberOfInsertedCharacters > 0;
switch (kind) {
case 1:
parents = ParentsStack.push(
parents,
0
/* Object */
);
type = TOKEN_DELIM_OBJECT;
lastWasColon = false;
break;
case 2:
parents = ParentsStack.pop(parents);
type = TOKEN_DELIM_OBJECT;
lastWasColon = false;
break;
case 3:
parents = ParentsStack.push(
parents,
1
/* Array */
);
type = TOKEN_DELIM_ARRAY;
lastWasColon = false;
break;
case 4:
parents = ParentsStack.pop(parents);
type = TOKEN_DELIM_ARRAY;
lastWasColon = false;
break;
case 6:
type = TOKEN_DELIM_COLON;
lastWasColon = true;
break;
case 5:
type = TOKEN_DELIM_COMMA;
lastWasColon = false;
break;
case 8:
case 9:
type = TOKEN_VALUE_BOOLEAN;
lastWasColon = false;
break;
case 7:
type = TOKEN_VALUE_NULL;
lastWasColon = false;
break;
case 10:
const currentParent = parents ? parents.type : 0;
const inArray = currentParent === 1;
type = lastWasColon || inArray ? TOKEN_VALUE_STRING : TOKEN_PROPERTY_NAME;
lastWasColon = false;
break;
case 11:
type = TOKEN_VALUE_NUMBER;
lastWasColon = false;
break;
}
{
switch (kind) {
case 12:
type = TOKEN_COMMENT_LINE;
break;
case 13:
type = TOKEN_COMMENT_BLOCK;
break;
}
}
ret.endState = new JSONState(
state.getStateData(),
scanner.getTokenError(),
lastWasColon,
parents
);
ret.tokens.push({
startIndex: offset,
scopes: type
});
}
return ret;
}
let worker;
function getWorker() {
return new Promise((resolve, reject) => {
if (!worker) {
return reject("JSON not registered!");
}
resolve(worker);
});
}
class JSONDiagnosticsAdapter extends lspLanguageFeatures.DiagnosticsAdapter {
constructor(languageId, worker2, defaults) {
super(languageId, worker2, defaults.onDidChange);
this._disposables.push(
editor_api.editor.onWillDisposeModel((model) => {
this._resetSchema(model.uri);
})
);
this._disposables.push(
editor_api.editor.onDidChangeModelLanguage((event) => {
this._resetSchema(event.model.uri);
})
);
}
_resetSchema(resource) {
this._worker().then((worker2) => {
worker2.resetSchema(resource.toString());
});
}
}
function setupMode(defaults) {
const disposables = [];
const providers = [];
const client = new WorkerManager(defaults);
disposables.push(client);
worker = (...uris) => {
return client.getLanguageServiceWorker(...uris);
};
function registerProviders() {
const { languageId, modeConfiguration: modeConfiguration2 } = defaults;
disposeAll(providers);
if (modeConfiguration2.documentFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentFormattingEditProvider(worker)
)
);
}
if (modeConfiguration2.documentRangeFormattingEdits) {
providers.push(
editor_api.languages.registerDocumentRangeFormattingEditProvider(
languageId,
new lspLanguageFeatures.DocumentRangeFormattingEditProvider(worker)
)
);
}
if (modeConfiguration2.completionItems) {
providers.push(
editor_api.languages.registerCompletionItemProvider(
languageId,
new lspLanguageFeatures.CompletionAdapter(worker, [" ", ":", '"'])
)
);
}
if (modeConfiguration2.hovers) {
providers.push(
editor_api.languages.registerHoverProvider(languageId, new lspLanguageFeatures.HoverAdapter(worker))
);
}
if (modeConfiguration2.documentSymbols) {
providers.push(
editor_api.languages.registerDocumentSymbolProvider(
languageId,
new lspLanguageFeatures.DocumentSymbolAdapter(worker)
)
);
}
if (modeConfiguration2.tokens) {
providers.push(editor_api.languages.setTokensProvider(languageId, createTokenizationSupport(true)));
}
if (modeConfiguration2.colors) {
providers.push(
editor_api.languages.registerColorProvider(
languageId,
new lspLanguageFeatures.DocumentColorAdapter(worker)
)
);
}
if (modeConfiguration2.foldingRanges) {
providers.push(
editor_api.languages.registerFoldingRangeProvider(
languageId,
new lspLanguageFeatures.FoldingRangeAdapter(worker)
)
);
}
if (modeConfiguration2.diagnostics) {
providers.push(new JSONDiagnosticsAdapter(languageId, worker, defaults));
}
if (modeConfiguration2.selectionRanges) {
providers.push(
editor_api.languages.registerSelectionRangeProvider(
languageId,
new lspLanguageFeatures.SelectionRangeAdapter(worker)
)
);
}
}
registerProviders();
disposables.push(editor_api.languages.setLanguageConfiguration(defaults.languageId, richEditConfiguration));
let modeConfiguration = defaults.modeConfiguration;
defaults.onDidChange((newDefaults) => {
if (newDefaults.modeConfiguration !== modeConfiguration) {
modeConfiguration = newDefaults.modeConfiguration;
registerProviders();
}
});
disposables.push(asDisposable(providers));
return asDisposable(disposables);
}
function asDisposable(disposables) {
return { dispose: () => disposeAll(disposables) };
}
function disposeAll(disposables) {
while (disposables.length) {
disposables.pop().dispose();
}
}
const richEditConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"]
],
autoClosingPairs: [
{ open: "{", close: "}", notIn: ["string"] },
{ open: "[", close: "]", notIn: ["string"] },
{ open: '"', close: '"', notIn: ["string"] }
]
};
exports.CompletionAdapter = lspLanguageFeatures.CompletionAdapter;
exports.DefinitionAdapter = lspLanguageFeatures.DefinitionAdapter;
exports.DiagnosticsAdapter = lspLanguageFeatures.DiagnosticsAdapter;
exports.DocumentColorAdapter = lspLanguageFeatures.DocumentColorAdapter;
exports.DocumentFormattingEditProvider = lspLanguageFeatures.DocumentFormattingEditProvider;
exports.DocumentHighlightAdapter = lspLanguageFeatures.DocumentHighlightAdapter;
exports.DocumentLinkAdapter = lspLanguageFeatures.DocumentLinkAdapter;
exports.DocumentRangeFormattingEditProvider = lspLanguageFeatures.DocumentRangeFormattingEditProvider;
exports.DocumentSymbolAdapter = lspLanguageFeatures.DocumentSymbolAdapter;
exports.FoldingRangeAdapter = lspLanguageFeatures.FoldingRangeAdapter;
exports.HoverAdapter = lspLanguageFeatures.HoverAdapter;
exports.ReferenceAdapter = lspLanguageFeatures.ReferenceAdapter;
exports.RenameAdapter = lspLanguageFeatures.RenameAdapter;
exports.SelectionRangeAdapter = lspLanguageFeatures.SelectionRangeAdapter;
exports.fromPosition = lspLanguageFeatures.fromPosition;
exports.fromRange = lspLanguageFeatures.fromRange;
exports.toRange = lspLanguageFeatures.toRange;
exports.toTextEdit = lspLanguageFeatures.toTextEdit;
exports.WorkerManager = WorkerManager;
exports.getWorker = getWorker;
exports.setupMode = setupMode;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+514
View File
@@ -0,0 +1,514 @@
define("vs/julia-DrYN6c6i", ["exports"], (function(exports) {
"use strict";
const conf = {
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
tokenPostfix: ".julia",
keywords: [
"begin",
"while",
"if",
"for",
"try",
"return",
"break",
"continue",
"function",
"macro",
"quote",
"let",
"local",
"global",
"const",
"do",
"struct",
"module",
"baremodule",
"using",
"import",
"export",
"end",
"else",
"elseif",
"catch",
"finally",
"mutable",
"primitive",
"abstract",
"type",
"in",
"isa",
"where",
"new"
],
types: [
"LinRange",
"LineNumberNode",
"LinearIndices",
"LoadError",
"MIME",
"Matrix",
"Method",
"MethodError",
"Missing",
"MissingException",
"Module",
"NTuple",
"NamedTuple",
"Nothing",
"Number",
"OrdinalRange",
"OutOfMemoryError",
"OverflowError",
"Pair",
"PartialQuickSort",
"PermutedDimsArray",
"Pipe",
"Ptr",
"QuoteNode",
"Rational",
"RawFD",
"ReadOnlyMemoryError",
"Real",
"ReentrantLock",
"Ref",
"Regex",
"RegexMatch",
"RoundingMode",
"SegmentationFault",
"Set",
"Signed",
"Some",
"StackOverflowError",
"StepRange",
"StepRangeLen",
"StridedArray",
"StridedMatrix",
"StridedVecOrMat",
"StridedVector",
"String",
"StringIndexError",
"SubArray",
"SubString",
"SubstitutionString",
"Symbol",
"SystemError",
"Task",
"Text",
"TextDisplay",
"Timer",
"Tuple",
"Type",
"TypeError",
"TypeVar",
"UInt",
"UInt128",
"UInt16",
"UInt32",
"UInt64",
"UInt8",
"UndefInitializer",
"AbstractArray",
"UndefKeywordError",
"AbstractChannel",
"UndefRefError",
"AbstractChar",
"UndefVarError",
"AbstractDict",
"Union",
"AbstractDisplay",
"UnionAll",
"AbstractFloat",
"UnitRange",
"AbstractIrrational",
"Unsigned",
"AbstractMatrix",
"AbstractRange",
"Val",
"AbstractSet",
"Vararg",
"AbstractString",
"VecElement",
"AbstractUnitRange",
"VecOrMat",
"AbstractVecOrMat",
"Vector",
"AbstractVector",
"VersionNumber",
"Any",
"WeakKeyDict",
"ArgumentError",
"WeakRef",
"Array",
"AssertionError",
"BigFloat",
"BigInt",
"BitArray",
"BitMatrix",
"BitSet",
"BitVector",
"Bool",
"BoundsError",
"CapturedException",
"CartesianIndex",
"CartesianIndices",
"Cchar",
"Cdouble",
"Cfloat",
"Channel",
"Char",
"Cint",
"Cintmax_t",
"Clong",
"Clonglong",
"Cmd",
"Colon",
"Complex",
"ComplexF16",
"ComplexF32",
"ComplexF64",
"CompositeException",
"Condition",
"Cptrdiff_t",
"Cshort",
"Csize_t",
"Cssize_t",
"Cstring",
"Cuchar",
"Cuint",
"Cuintmax_t",
"Culong",
"Culonglong",
"Cushort",
"Cvoid",
"Cwchar_t",
"Cwstring",
"DataType",
"DenseArray",
"DenseMatrix",
"DenseVecOrMat",
"DenseVector",
"Dict",
"DimensionMismatch",
"Dims",
"DivideError",
"DomainError",
"EOFError",
"Enum",
"ErrorException",
"Exception",
"ExponentialBackOff",
"Expr",
"Float16",
"Float32",
"Float64",
"Function",
"GlobalRef",
"HTML",
"IO",
"IOBuffer",
"IOContext",
"IOStream",
"IdDict",
"IndexCartesian",
"IndexLinear",
"IndexStyle",
"InexactError",
"InitError",
"Int",
"Int128",
"Int16",
"Int32",
"Int64",
"Int8",
"Integer",
"InterruptException",
"InvalidStateException",
"Irrational",
"KeyError"
],
keywordops: ["<:", ">:", ":", "=>", "...", ".", "->", "?"],
allops: /[^\w\d\s()\[\]{}"'#]+/,
constants: [
"true",
"false",
"nothing",
"missing",
"undef",
"Inf",
"pi",
"NaN",
"π",
"ℯ",
"ans",
"PROGRAM_FILE",
"ARGS",
"C_NULL",
"VERSION",
"DEPOT_PATH",
"LOAD_PATH"
],
operators: [
"!",
"!=",
"!==",
"%",
"&",
"*",
"+",
"-",
"/",
"//",
"<",
"<<",
"<=",
"==",
"===",
"=>",
">",
">=",
">>",
">>>",
"\\",
"^",
"|",
"|>",
"~",
"÷",
"∈",
"∉",
"∋",
"∌",
"∘",
"√",
"∛",
"∩",
"∪",
"≈",
"≉",
"≠",
"≡",
"≢",
"≤",
"≥",
"⊆",
"⊇",
"⊈",
"⊉",
"⊊",
"⊋",
"⊻"
],
brackets: [
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" }
],
ident: /π|ℯ|\b(?!\d)\w+\b/,
// escape sequences
escape: /(?:[abefnrstv\\"'\n\r]|[0-7]{1,3}|x[0-9A-Fa-f]{1,2}|u[0-9A-Fa-f]{4})/,
escapes: /\\(?:C\-(@escape|.)|c(@escape|.)|@escape)/,
// The main tokenizer for our languages
tokenizer: {
root: [
[/(::)\s*|\b(isa)\s+/, "keyword", "@typeanno"],
[/\b(isa)(\s*\(@ident\s*,\s*)/, ["keyword", { token: "", next: "@typeanno" }]],
[/\b(type|struct)[ \t]+/, "keyword", "@typeanno"],
// symbols
[/^\s*:@ident[!?]?/, "metatag"],
[/(return)(\s*:@ident[!?]?)/, ["keyword", "metatag"]],
[/(\(|\[|\{|@allops)(\s*:@ident[!?]?)/, ["", "metatag"]],
[/:\(/, "metatag", "@quote"],
// regular expressions
[/r"""/, "regexp.delim", "@tregexp"],
[/r"/, "regexp.delim", "@sregexp"],
// strings
[/raw"""/, "string.delim", "@rtstring"],
[/[bv]?"""/, "string.delim", "@dtstring"],
[/raw"/, "string.delim", "@rsstring"],
[/[bv]?"/, "string.delim", "@dsstring"],
[
/(@ident)\{/,
{
cases: {
"$1@types": { token: "type", next: "@gen" },
"@default": { token: "type", next: "@gen" }
}
}
],
[
/@ident[!?'']?(?=\.?\()/,
{
cases: {
"@types": "type",
"@keywords": "keyword",
"@constants": "variable",
"@default": "keyword.flow"
}
}
],
[
/@ident[!?']?/,
{
cases: {
"@types": "type",
"@keywords": "keyword",
"@constants": "variable",
"@default": "identifier"
}
}
],
[/\$\w+/, "key"],
[/\$\(/, "key", "@paste"],
[/@@@ident/, "annotation"],
// whitespace
{ include: "@whitespace" },
// characters
[/'(?:@escapes|.)'/, "string.character"],
// delimiters and operators
[/[()\[\]{}]/, "@brackets"],
[
/@allops/,
{
cases: {
"@keywordops": "keyword",
"@operators": "operator"
}
}
],
[/[;,]/, "delimiter"],
// numbers
[/0[xX][0-9a-fA-F](_?[0-9a-fA-F])*/, "number.hex"],
[/0[_oO][0-7](_?[0-7])*/, "number.octal"],
[/0[bB][01](_?[01])*/, "number.binary"],
[/[+\-]?\d+(\.\d+)?(im?|[eE][+\-]?\d+(\.\d+)?)?/, "number"]
],
// type
typeanno: [
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/, "type", "@gen"],
[/([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)(\s*<:\s*)/, ["type", "keyword"]],
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/, "type", "@pop"],
["", "", "@pop"]
],
// generic type
gen: [
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*\{/, "type", "@push"],
[/[a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*/, "type"],
[/<:/, "keyword"],
[/(\})(\s*<:\s*)/, ["type", { token: "keyword", next: "@pop" }]],
[/\}/, "type", "@pop"],
{ include: "@root" }
],
// $(...)
quote: [
[/\$\(/, "key", "@paste"],
[/\(/, "@brackets", "@paren"],
[/\)/, "metatag", "@pop"],
{ include: "@root" }
],
// :(...)
paste: [
[/:\(/, "metatag", "@quote"],
[/\(/, "@brackets", "@paren"],
[/\)/, "key", "@pop"],
{ include: "@root" }
],
// (...)
paren: [
[/\$\(/, "key", "@paste"],
[/:\(/, "metatag", "@quote"],
[/\(/, "@brackets", "@push"],
[/\)/, "@brackets", "@pop"],
{ include: "@root" }
],
// r"egex string"
sregexp: [
[/^.*/, "invalid"],
[/[^\\"()\[\]{}]/, "regexp"],
[/[()\[\]{}]/, "@brackets"],
[/\\./, "operator.scss"],
[/"[imsx]*/, "regexp.delim", "@pop"]
],
tregexp: [
[/[^\\"()\[\]{}]/, "regexp"],
[/[()\[\]{}]/, "@brackets"],
[/\\./, "operator.scss"],
[/"(?!"")/, "string"],
[/"""[imsx]*/, "regexp.delim", "@pop"]
],
// raw"string"
rsstring: [
[/^.*/, "invalid"],
[/[^\\"]/, "string"],
[/\\./, "string.escape"],
[/"/, "string.delim", "@pop"]
],
rtstring: [
[/[^\\"]/, "string"],
[/\\./, "string.escape"],
[/"(?!"")/, "string"],
[/"""/, "string.delim", "@pop"]
],
// "string".
dsstring: [
[/^.*/, "invalid"],
[/[^\\"\$]/, "string"],
[/\$/, "", "@interpolated"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string.delim", "@pop"]
],
dtstring: [
[/[^\\"\$]/, "string"],
[/\$/, "", "@interpolated"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"(?!"")/, "string"],
[/"""/, "string.delim", "@pop"]
],
// interpolated sequence
interpolated: [
[/\(/, { token: "", switchTo: "@interpolated_compound" }],
[/[a-zA-Z_]\w*/, "identifier"],
["", "", "@pop"]
// just a $ is interpreted as a $
],
// any code
interpolated_compound: [[/\)/, "", "@pop"], { include: "@root" }],
// whitespace & comments
whitespace: [
[/[ \t\r\n]+/, ""],
[/#=/, "comment", "@multi_comment"],
[/#.*$/, "comment"]
],
multi_comment: [
[/#=/, "comment", "@push"],
[/=#/, "comment", "@pop"],
[/=(?!#)|#(?!=)/, "comment"],
[/[^#=]+/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+255
View File
@@ -0,0 +1,255 @@
define("vs/kotlin-CSDqhv6t", ["exports"], (function(exports) {
"use strict";
const conf = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "<", close: ">" }
],
folding: {
markers: {
start: new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),
end: new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".kt",
keywords: [
"as",
"as?",
"break",
"class",
"continue",
"do",
"else",
"false",
"for",
"fun",
"if",
"in",
"!in",
"interface",
"is",
"!is",
"null",
"object",
"package",
"return",
"super",
"this",
"throw",
"true",
"try",
"typealias",
"val",
"var",
"when",
"while",
"by",
"catch",
"constructor",
"delegate",
"dynamic",
"field",
"file",
"finally",
"get",
"import",
"init",
"param",
"property",
"receiver",
"set",
"setparam",
"where",
"actual",
"abstract",
"annotation",
"companion",
"const",
"crossinline",
"data",
"enum",
"expect",
"external",
"final",
"infix",
"inline",
"inner",
"internal",
"lateinit",
"noinline",
"open",
"operator",
"out",
"override",
"private",
"protected",
"public",
"reified",
"sealed",
"suspend",
"tailrec",
"vararg",
"field",
"it"
],
operators: [
"+",
"-",
"*",
"/",
"%",
"=",
"+=",
"-=",
"*=",
"/=",
"%=",
"++",
"--",
"&&",
"||",
"!",
"==",
"!=",
"===",
"!==",
">",
"<",
"<=",
">=",
"[",
"]",
"!!",
"?.",
"?:",
"::",
"..",
":",
"?",
"->",
"@",
";",
"$",
"_"
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+(_+\d+)*/,
octaldigits: /[0-7]+(_+[0-7]+)*/,
binarydigits: /[0-1]+(_+[0-1]+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
// The main tokenizer for our languages
tokenizer: {
root: [
// class name highlighting
[/[A-Z][\w\$]*/, "type.identifier"],
// identifiers and keywords
[
/[a-zA-Z_$][\w$]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// @ annotations.
[/@\s*[a-zA-Z_\$][\w\$]*/, "annotation"],
// numbers
[/(@digits)[eE]([\-+]?(@digits))?[fF]?/, "number.float"],
[/(@digits)?\.(@digits)([eE][\-+]?(@digits))?[fF]?/, "number.float"],
[/0[xX](@hexdigits)[uU]?L?/, "number.hex"],
[/0[bB](@binarydigits)[uU]?L?/, "number.binary"],
[/(@digits)[fF]/, "number.float"],
[/(@digits)[uU]?L?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"""/, "string", "@multistring"],
[/"/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/(')(@escapes)(')/, ["string", "string.escape", "string"]],
[/'/, "string.invalid"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/\/\*\*(?!\/)/, "comment.doc", "@javadoc"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
comment: [
[/[^\/*]+/, "comment"],
[/\/\*/, "comment", "@comment"],
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
//Identical copy of comment above, except for the addition of .doc
javadoc: [
[/[^\/*]+/, "comment.doc"],
[/\/\*/, "comment.doc", "@push"],
[/\/\*/, "comment.doc.invalid"],
[/\*\//, "comment.doc", "@pop"],
[/[\/*]/, "comment.doc"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, "string", "@pop"]
],
multistring: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"""/, "string", "@pop"],
[/./, "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,7 @@
define("vs/language/css/monaco.contribution", ["exports", "../../editor.api-CykLys8L", "../../monaco.contribution-D_SyqKiy"], (function(exports, editor_api, language_css_monaco_contribution) {
"use strict";
exports.cssDefaults = language_css_monaco_contribution.cssDefaults;
exports.lessDefaults = language_css_monaco_contribution.lessDefaults;
exports.scssDefaults = language_css_monaco_contribution.scssDefaults;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,11 @@
define("vs/language/html/monaco.contribution", ["exports", "../../editor.api-CykLys8L", "../../monaco.contribution-D74vF5SR"], (function(exports, editor_api, language_html_monaco_contribution) {
"use strict";
exports.handlebarDefaults = language_html_monaco_contribution.handlebarDefaults;
exports.handlebarLanguageService = language_html_monaco_contribution.handlebarLanguageService;
exports.htmlDefaults = language_html_monaco_contribution.htmlDefaults;
exports.htmlLanguageService = language_html_monaco_contribution.htmlLanguageService;
exports.razorDefaults = language_html_monaco_contribution.razorDefaults;
exports.razorLanguageService = language_html_monaco_contribution.razorLanguageService;
exports.registerHTMLLanguageService = language_html_monaco_contribution.registerHTMLLanguageService;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,6 @@
define("vs/language/json/monaco.contribution", ["exports", "../../editor.api-CykLys8L", "../../monaco.contribution-Cqdn_4Kw"], (function(exports, editor_api, language_json_monaco_contribution) {
"use strict";
exports.getWorker = language_json_monaco_contribution.getWorker;
exports.jsonDefaults = language_json_monaco_contribution.jsonDefaults;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,14 @@
define("vs/language/typescript/monaco.contribution", ["exports", "../../monaco.contribution-YfYcxPkX", "../../editor.api-CykLys8L"], (function(exports, language_typescript_monaco_contribution, editor_api) {
"use strict";
exports.JsxEmit = language_typescript_monaco_contribution.JsxEmit;
exports.ModuleKind = language_typescript_monaco_contribution.ModuleKind;
exports.ModuleResolutionKind = language_typescript_monaco_contribution.ModuleResolutionKind;
exports.NewLineKind = language_typescript_monaco_contribution.NewLineKind;
exports.ScriptTarget = language_typescript_monaco_contribution.ScriptTarget;
exports.getJavaScriptWorker = language_typescript_monaco_contribution.getJavaScriptWorker;
exports.getTypeScriptWorker = language_typescript_monaco_contribution.getTypeScriptWorker;
exports.javascriptDefaults = language_typescript_monaco_contribution.javascriptDefaults;
exports.typescriptDefaults = language_typescript_monaco_contribution.typescriptDefaults;
exports.typescriptVersion = language_typescript_monaco_contribution.typescriptVersion;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+164
View File
@@ -0,0 +1,164 @@
define("vs/less-B7KFvseP", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,
comments: {
blockComment: ["/*", "*/"],
lineComment: "//"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}", notIn: ["string", "comment"] },
{ open: "[", close: "]", notIn: ["string", "comment"] },
{ open: "(", close: ")", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),
end: new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".less",
identifier: "-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
identifierPlus: "-?-?([a-zA-Z:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-:.]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.bracket" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
tokenizer: {
root: [
{ include: "@nestedJSBegin" },
["[ \\t\\r\\n]+", ""],
{ include: "@comments" },
{ include: "@keyword" },
{ include: "@strings" },
{ include: "@numbers" },
["[*_]?[a-zA-Z\\-\\s]+(?=:.*(;|(\\\\$)))", "attribute.name", "@attribute"],
["url(\\-prefix)?\\(", { token: "tag", next: "@urldeclaration" }],
["[{}()\\[\\]]", "@brackets"],
["[,:;]", "delimiter"],
["#@identifierPlus", "tag.id"],
["&", "tag"],
["\\.@identifierPlus(?=\\()", "tag.class", "@attribute"],
["\\.@identifierPlus", "tag.class"],
["@identifierPlus", "tag"],
{ include: "@operators" },
["@(@identifier(?=[:,\\)]))", "variable", "@attribute"],
["@(@identifier)", "variable"],
["@", "key", "@atRules"]
],
nestedJSBegin: [
["``", "delimiter.backtick"],
[
"`",
{
token: "delimiter.backtick",
next: "@nestedJSEnd",
nextEmbedded: "text/javascript"
}
]
],
nestedJSEnd: [
[
"`",
{
token: "delimiter.backtick",
next: "@pop",
nextEmbedded: "@pop"
}
]
],
operators: [["[<>=\\+\\-\\*\\/\\^\\|\\~]", "operator"]],
keyword: [
[
"(@[\\s]*import|![\\s]*important|true|false|when|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem|hue|saturation|lightness|alpha|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|round|ceil|floor|percentage)\\b",
"keyword"
]
],
urldeclaration: [
{ include: "@strings" },
["[^)\r\n]+", "string"],
["\\)", { token: "tag", next: "@pop" }]
],
attribute: [
{ include: "@nestedJSBegin" },
{ include: "@comments" },
{ include: "@strings" },
{ include: "@numbers" },
{ include: "@keyword" },
["[a-zA-Z\\-]+(?=\\()", "attribute.value", "@attribute"],
[">", "operator", "@pop"],
["@identifier", "attribute.value"],
{ include: "@operators" },
["@(@identifier)", "variable"],
["[)\\}]", "@brackets", "@pop"],
["[{}()\\[\\]>]", "@brackets"],
["[;]", "delimiter", "@pop"],
["[,=:]", "delimiter"],
["\\s", ""],
[".", "attribute.value"]
],
comments: [
["\\/\\*", "comment", "@comment"],
["\\/\\/+.*", "comment"]
],
comment: [
["\\*\\/", "comment", "@pop"],
[".", "comment"]
],
numbers: [
["(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?", { token: "attribute.value.number", next: "@units" }],
["#[0-9a-fA-F_]+(?!\\w)", "attribute.value.hex"]
],
units: [
[
"(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?",
"attribute.value.unit",
"@pop"
]
],
strings: [
['~?"', { token: "string.delimiter", next: "@stringsEndDoubleQuote" }],
["~?'", { token: "string.delimiter", next: "@stringsEndQuote" }]
],
stringsEndDoubleQuote: [
['\\\\"', "string"],
['"', { token: "string.delimiter", next: "@popall" }],
[".", "string"]
],
stringsEndQuote: [
["\\\\'", "string"],
["'", { token: "string.delimiter", next: "@popall" }],
[".", "string"]
],
atRules: [
{ include: "@comments" },
{ include: "@strings" },
["[()]", "delimiter"],
["[\\{;]", "delimiter", "@pop"],
[".", "key"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+160
View File
@@ -0,0 +1,160 @@
define("vs/lexon-BmRNXYWC", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "COMMENT"
// blockComment: ['COMMENT', '.'],
},
brackets: [["(", ")"]],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: ":", close: "." }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "`", close: "`" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: ":", close: "." }
],
folding: {
markers: {
start: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#region"),
end: new RegExp("^\\s*(::\\s*|COMMENT\\s+)#endregion")
}
}
};
const language = {
// Set defaultToken to invalid to see what you do not tokenize yet
// defaultToken: 'invalid',
tokenPostfix: ".lexon",
ignoreCase: true,
keywords: [
"lexon",
"lex",
"clause",
"terms",
"contracts",
"may",
"pay",
"pays",
"appoints",
"into",
"to"
],
typeKeywords: ["amount", "person", "key", "time", "date", "asset", "text"],
operators: [
"less",
"greater",
"equal",
"le",
"gt",
"or",
"and",
"add",
"added",
"subtract",
"subtracted",
"multiply",
"multiplied",
"times",
"divide",
"divided",
"is",
"be",
"certified"
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
// The main tokenizer for our languages
tokenizer: {
root: [
// comment
[/^(\s*)(comment:?(?:\s.*|))$/, ["", "comment"]],
// special identifier cases
[
/"/,
{
token: "identifier.quote",
bracket: "@open",
next: "@quoted_identifier"
}
],
[
"LEX$",
{
token: "keyword",
bracket: "@open",
next: "@identifier_until_period"
}
],
["LEXON", { token: "keyword", bracket: "@open", next: "@semver" }],
[
":",
{
token: "delimiter",
bracket: "@open",
next: "@identifier_until_period"
}
],
// identifiers and keywords
[
/[a-z_$][\w$]*/,
{
cases: {
"@operators": "operator",
"@typeKeywords": "keyword.type",
"@keywords": "keyword",
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d*\.\d*\.\d*/, "number.semver"],
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"]
],
quoted_identifier: [
[/[^\\"]+/, "identifier"],
[/"/, { token: "identifier.quote", bracket: "@close", next: "@pop" }]
],
space_identifier_until_period: [
[":", "delimiter"],
[" ", { token: "white", next: "@identifier_rest" }]
],
identifier_until_period: [
{ include: "@whitespace" },
[":", { token: "delimiter", next: "@identifier_rest" }],
[/[^\\.]+/, "identifier"],
[/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
],
identifier_rest: [
[/[^\\.]+/, "identifier"],
[/\./, { token: "delimiter", bracket: "@close", next: "@pop" }]
],
semver: [
{ include: "@whitespace" },
[":", "delimiter"],
[/\d*\.\d*\.\d*/, { token: "number.semver", bracket: "@close", next: "@pop" }]
],
whitespace: [[/[ \t\r\n]+/, "white"]]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+236
View File
@@ -0,0 +1,236 @@
define("vs/liquid-Limfe9fx", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
];
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
brackets: [
["<!--", "-->"],
["<", ">"],
["{{", "}}"],
["{%", "%}"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "%", close: "%" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "<", close: ">" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
onEnterRules: [
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
]
};
const language = {
defaultToken: "",
tokenPostfix: "",
builtinTags: [
"if",
"else",
"elseif",
"endif",
"render",
"assign",
"capture",
"endcapture",
"case",
"endcase",
"comment",
"endcomment",
"cycle",
"decrement",
"for",
"endfor",
"include",
"increment",
"layout",
"raw",
"endraw",
"render",
"tablerow",
"endtablerow",
"unless",
"endunless"
],
builtinFilters: [
"abs",
"append",
"at_least",
"at_most",
"capitalize",
"ceil",
"compact",
"date",
"default",
"divided_by",
"downcase",
"escape",
"escape_once",
"first",
"floor",
"join",
"json",
"last",
"lstrip",
"map",
"minus",
"modulo",
"newline_to_br",
"plus",
"prepend",
"remove",
"remove_first",
"replace",
"replace_first",
"reverse",
"round",
"rstrip",
"size",
"slice",
"sort",
"sort_natural",
"split",
"strip",
"strip_html",
"strip_newlines",
"times",
"truncate",
"truncatewords",
"uniq",
"upcase",
"url_decode",
"url_encode",
"where"
],
constants: ["true", "false"],
operators: ["==", "!=", ">", "<", ">=", "<="],
symbol: /[=><!]+/,
identifier: /[a-zA-Z_][\w]*/,
tokenizer: {
root: [
[/\{\%\s*comment\s*\%\}/, "comment.start.liquid", "@comment"],
[/\{\{/, { token: "@rematch", switchTo: "@liquidState.root" }],
[/\{\%/, { token: "@rematch", switchTo: "@liquidState.root" }],
[/(<)([\w\-]+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<)([:\w]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/(<\/)([\w\-]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/</, "delimiter.html"],
[/\{/, "delimiter.html"],
[/[^<{]+/]
// text
],
comment: [
[/\{\%\s*endcomment\s*\%\}/, "comment.end.liquid", "@pop"],
[/./, "comment.content.liquid"]
],
otherTag: [
[
/\{\{/,
{
token: "@rematch",
switchTo: "@liquidState.otherTag"
}
],
[
/\{\%/,
{
token: "@rematch",
switchTo: "@liquidState.otherTag"
}
],
[/\/?>/, "delimiter.html", "@pop"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
// whitespace
],
liquidState: [
[/\{\{/, "delimiter.output.liquid"],
[/\}\}/, { token: "delimiter.output.liquid", switchTo: "@$S2.$S3" }],
[/\{\%/, "delimiter.tag.liquid"],
[/raw\s*\%\}/, "delimiter.tag.liquid", "@liquidRaw"],
[/\%\}/, { token: "delimiter.tag.liquid", switchTo: "@$S2.$S3" }],
{ include: "liquidRoot" }
],
liquidRaw: [
[/^(?!\{\%\s*endraw\s*\%\}).+/],
[/\{\%/, "delimiter.tag.liquid"],
[/@identifier/],
[/\%\}/, { token: "delimiter.tag.liquid", next: "@root" }]
],
liquidRoot: [
[/\d+(\.\d+)?/, "number.liquid"],
[/"[^"]*"/, "string.liquid"],
[/'[^']*'/, "string.liquid"],
[/\s+/],
[
/@symbol/,
{
cases: {
"@operators": "operator.liquid",
"@default": ""
}
}
],
[/\./],
[
/@identifier/,
{
cases: {
"@constants": "keyword.liquid",
"@builtinFilters": "predefined.liquid",
"@builtinTags": "predefined.liquid",
"@default": "variable.liquid"
}
}
],
[/[^}|%]/, "variable.liquid"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+165
View File
@@ -0,0 +1,165 @@
define("vs/lua-BYAO5Img", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "--",
blockComment: ["--[[", "]]"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".lua",
keywords: [
"and",
"break",
"do",
"else",
"elseif",
"end",
"false",
"for",
"function",
"goto",
"if",
"in",
"local",
"nil",
"not",
"or",
"repeat",
"return",
"then",
"true",
"until",
"while"
],
brackets: [
{ token: "delimiter.bracket", open: "{", close: "}" },
{ token: "delimiter.array", open: "[", close: "]" },
{ token: "delimiter.parenthesis", open: "(", close: ")" }
],
operators: [
"+",
"-",
"*",
"/",
"%",
"^",
"#",
"==",
"~=",
"<=",
">=",
"<",
">",
"=",
";",
":",
",",
".",
"..",
"..."
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// keys
[/(,)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, ["delimiter", "", "key", "", "delimiter"]],
[/({)(\s*)([a-zA-Z_]\w*)(\s*)(:)(?!:)/, ["@brackets", "", "key", "", "delimiter"]],
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
[/\d+?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings: recover on non-terminated strings
[/"([^"\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/"/, "string", '@string."'],
[/'/, "string", "@string.'"]
],
whitespace: [
[/[ \t\r\n]+/, ""],
[/--\[([=]*)\[/, "comment", "@comment.$1"],
[/--.*$/, "comment"]
],
comment: [
[/[^\]]+/, "comment"],
[
/\]([=]*)\]/,
{
cases: {
"$1==$S2": { token: "comment", next: "@pop" },
"@default": "comment"
}
}
],
[/./, "comment"]
],
string: [
[/[^\\"']+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+213
View File
@@ -0,0 +1,213 @@
define("vs/m3-B1KqSpyY", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
blockComment: ["(*", "*)"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "[", close: "]" },
{ open: "{", close: "}" },
{ open: "(", close: ")" },
{ open: "(*", close: "*)" },
{ open: "<*", close: "*>" },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: '"', close: '"', notIn: ["string", "comment"] }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".m3",
brackets: [
{ token: "delimiter.curly", open: "{", close: "}" },
{ token: "delimiter.parenthesis", open: "(", close: ")" },
{ token: "delimiter.square", open: "[", close: "]" }
],
keywords: [
"AND",
"ANY",
"ARRAY",
"AS",
"BEGIN",
"BITS",
"BRANDED",
"BY",
"CASE",
"CONST",
"DIV",
"DO",
"ELSE",
"ELSIF",
"END",
"EVAL",
"EXCEPT",
"EXCEPTION",
"EXIT",
"EXPORTS",
"FINALLY",
"FOR",
"FROM",
"GENERIC",
"IF",
"IMPORT",
"IN",
"INTERFACE",
"LOCK",
"LOOP",
"METHODS",
"MOD",
"MODULE",
"NOT",
"OBJECT",
"OF",
"OR",
"OVERRIDES",
"PROCEDURE",
"RAISE",
"RAISES",
"READONLY",
"RECORD",
"REF",
"REPEAT",
"RETURN",
"REVEAL",
"SET",
"THEN",
"TO",
"TRY",
"TYPE",
"TYPECASE",
"UNSAFE",
"UNTIL",
"UNTRACED",
"VALUE",
"VAR",
"WHILE",
"WITH"
],
reservedConstNames: [
"ABS",
"ADR",
"ADRSIZE",
"BITSIZE",
"BYTESIZE",
"CEILING",
"DEC",
"DISPOSE",
"FALSE",
"FIRST",
"FLOAT",
"FLOOR",
"INC",
"ISTYPE",
"LAST",
"LOOPHOLE",
"MAX",
"MIN",
"NARROW",
"NEW",
"NIL",
"NUMBER",
"ORD",
"ROUND",
"SUBARRAY",
"TRUE",
"TRUNC",
"TYPECODE",
"VAL"
],
reservedTypeNames: [
"ADDRESS",
"ANY",
"BOOLEAN",
"CARDINAL",
"CHAR",
"EXTENDED",
"INTEGER",
"LONGCARD",
"LONGINT",
"LONGREAL",
"MUTEX",
"NULL",
"REAL",
"REFANY",
"ROOT",
"TEXT"
],
operators: ["+", "-", "*", "/", "&", "^", "."],
relations: ["=", "#", "<", "<=", ">", ">=", "<:", ":"],
delimiters: ["|", "..", "=>", ",", ";", ":="],
symbols: /[>=<#.,:;+\-*/&^]+/,
escapes: /\\(?:[\\fnrt"']|[0-7]{3})/,
tokenizer: {
root: [
// Identifiers and keywords
[/_\w*/, "invalid"],
[
/[a-zA-Z][a-zA-Z0-9_]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@reservedConstNames": { token: "constant.reserved.$0" },
"@reservedTypeNames": { token: "type.reserved.$0" },
"@default": "identifier"
}
}
],
// Whitespace
{ include: "@whitespace" },
[/[{}()\[\]]/, "@brackets"],
// Integer- and real literals
[/[0-9]+\.[0-9]+(?:[DdEeXx][\+\-]?[0-9]+)?/, "number.float"],
[/[0-9]+(?:\_[0-9a-fA-F]+)?L?/, "number"],
// Operators, relations, and delimiters
[
/@symbols/,
{
cases: {
"@operators": "operators",
"@relations": "operators",
"@delimiters": "delimiter",
"@default": "invalid"
}
}
],
// Character literals
[/'[^\\']'/, "string.char"],
[/(')(@escapes)(')/, ["string.char", "string.escape", "string.char"]],
[/'/, "invalid"],
// Text literals
[/"([^"\\]|\\.)*$/, "invalid"],
[/"/, "string.text", "@text"]
],
text: [
[/[^\\"]+/, "string.text"],
[/@escapes/, "string.escape"],
[/\\./, "invalid"],
[/"/, "string.text", "@pop"]
],
comment: [
[/\(\*/, "comment", "@push"],
[/\*\)/, "comment", "@pop"],
[/./, "comment"]
],
pragma: [
[/<\*/, "keyword.pragma", "@push"],
[/\*>/, "keyword.pragma", "@pop"],
[/./, "keyword.pragma"]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\(\*/, "comment", "@comment"],
[/<\*/, "keyword.pragma", "@pragma"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+232
View File
@@ -0,0 +1,232 @@
define("vs/markdown-BXo7NBdp", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
blockComment: ["<!--", "-->"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">", notIn: ["string"] }
],
surroundingPairs: [
{ open: "(", close: ")" },
{ open: "[", close: "]" },
{ open: "`", close: "`" }
],
folding: {
markers: {
start: new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),
end: new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".md",
// escape codes
control: /[\\`*_\[\]{}()#+\-\.!]/,
noncontrol: /[^\\`*_\[\]{}()#+\-\.!]/,
escapes: /\\(?:@control)/,
// escape codes for javascript/CSS strings
jsescapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,
// non matched elements
empty: [
"area",
"base",
"basefont",
"br",
"col",
"frame",
"hr",
"img",
"input",
"isindex",
"link",
"meta",
"param"
],
tokenizer: {
root: [
// markdown tables
[/^\s*\|/, "@rematch", "@table_header"],
// headers (with #)
[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/, ["white", "keyword", "keyword", "keyword"]],
// headers (with =)
[/^\s*(=+|\-+)\s*$/, "keyword"],
// headers (with ***)
[/^\s*((\*[ ]?)+)\s*$/, "meta.separator"],
// quote
[/^\s*>+/, "comment"],
// list (starting with * or number)
[/^\s*([\*\-+:]|\d+\.)\s/, "keyword"],
// code block (4 spaces indent)
[/^(\t|[ ]{4})[^ ].*$/, "string"],
// code block (3 tilde)
[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/, { token: "string", next: "@codeblock" }],
// github style code blocks (with backticks and language)
[
/^\s*```\s*((?:\w|[\/\-#])+).*$/,
{ token: "string", next: "@codeblockgh", nextEmbedded: "$1" }
],
// github style code blocks (with backticks but no language)
[/^\s*```\s*$/, { token: "string", next: "@codeblock" }],
// markup within lines
{ include: "@linecontent" }
],
table_header: [
{ include: "@table_common" },
[/[^\|]+/, "keyword.table.header"]
// table header
],
table_body: [{ include: "@table_common" }, { include: "@linecontent" }],
table_common: [
[/\s*[\-:]+\s*/, { token: "keyword", switchTo: "table_body" }],
// header-divider
[/^\s*\|/, "keyword.table.left"],
// opening |
[/^\s*[^\|]/, "@rematch", "@pop"],
// exiting
[/^\s*$/, "@rematch", "@pop"],
// exiting
[
/\|/,
{
cases: {
"@eos": "keyword.table.right",
// closing |
"@default": "keyword.table.middle"
// inner |
}
}
]
],
codeblock: [
[/^\s*~~~\s*$/, { token: "string", next: "@pop" }],
[/^\s*```\s*$/, { token: "string", next: "@pop" }],
[/.*$/, "variable.source"]
],
// github style code blocks
codeblockgh: [
[/```\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
[/[^`]+/, "variable.source"]
],
linecontent: [
// escapes
[/&\w+;/, "string.escape"],
[/@escapes/, "escape"],
// various markup
[/\b__([^\\_]|@escapes|_(?!_))+__\b/, "strong"],
[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/, "strong"],
[/\b_[^_]+_\b/, "emphasis"],
[/\*([^\\*]|@escapes)+\*/, "emphasis"],
[/`([^\\`]|@escapes)+`/, "variable"],
// links
[/\{+[^}]+\}+/, "string.target"],
[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/, ["string.link", "", "string.link"]],
[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/, "string.link"],
// or html
{ include: "html" }
],
// Note: it is tempting to rather switch to the real HTML mode instead of building our own here
// but currently there is a limitation in Monarch that prevents us from doing it: The opening
// '<' would start the HTML mode, however there is no way to jump 1 character back to let the
// HTML mode also tokenize the opening angle bracket. Thus, even though we could jump to HTML,
// we cannot correctly tokenize it in that mode yet.
html: [
// html tags
[/<(\w+)\/>/, "tag"],
[
/<(\w+)(\-|\w)*/,
{
cases: {
"@empty": { token: "tag", next: "@tag.$1" },
"@default": { token: "tag", next: "@tag.$1" }
}
}
],
[/<\/(\w+)(\-|\w)*\s*>/, { token: "tag" }],
[/<!--/, "comment", "@comment"]
],
comment: [
[/[^<\-]+/, "comment.content"],
[/-->/, "comment", "@pop"],
[/<!--/, "comment.content.invalid"],
[/[<\-]/, "comment.content"]
],
// Almost full HTML tag matching, complete with embedded scripts & styles
tag: [
[/[ \t\r\n]+/, "white"],
[
/(type)(\s*=\s*)(")([^"]+)(")/,
[
"attribute.name.html",
"delimiter.html",
"string.html",
{ token: "string.html", switchTo: "@tag.$S2.$4" },
"string.html"
]
],
[
/(type)(\s*=\s*)(')([^']+)(')/,
[
"attribute.name.html",
"delimiter.html",
"string.html",
{ token: "string.html", switchTo: "@tag.$S2.$4" },
"string.html"
]
],
[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/, ["attribute.name.html", "delimiter.html", "string.html"]],
[/\w+/, "attribute.name.html"],
[/\/>/, "tag", "@pop"],
[
/>/,
{
cases: {
"$S2==style": {
token: "tag",
switchTo: "embeddedStyle",
nextEmbedded: "text/css"
},
"$S2==script": {
cases: {
$S3: {
token: "tag",
switchTo: "embeddedScript",
nextEmbedded: "$S3"
},
"@default": {
token: "tag",
switchTo: "embeddedScript",
nextEmbedded: "text/javascript"
}
}
},
"@default": { token: "tag", next: "@pop" }
}
}
]
],
embeddedStyle: [
[/[^<]+/, ""],
[/<\/style\s*>/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
[/</, ""]
],
embeddedScript: [
[/[^<]+/, ""],
[/<\/script\s*>/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
[/</, ""]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+160
View File
@@ -0,0 +1,160 @@
define("vs/mdx-DDjyMvBD", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const conf = {
comments: {
blockComment: ["{/*", "*/}"]
},
brackets: [["{", "}"]],
autoClosingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "“", close: "”" },
{ open: "‘", close: "’" },
{ open: "`", close: "`" },
{ open: "{", close: "}" },
{ open: "(", close: ")" },
{ open: "_", close: "_" },
{ open: "**", close: "**" },
{ open: "<", close: ">" }
],
onEnterRules: [
{
beforeText: /^\s*- .+/,
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "- " }
},
{
beforeText: /^\s*\+ .+/,
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "+ " }
},
{
beforeText: /^\s*\* .+/,
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "* " }
},
{
beforeText: /^> /,
action: { indentAction: editor_api.languages.IndentAction.None, appendText: "> " }
},
{
beforeText: /<\w+/,
action: { indentAction: editor_api.languages.IndentAction.Indent }
},
{
beforeText: /\s+>\s*$/,
action: { indentAction: editor_api.languages.IndentAction.Indent }
},
{
beforeText: /<\/\w+>/,
action: { indentAction: editor_api.languages.IndentAction.Outdent }
},
...Array.from({ length: 100 }, (_, index) => ({
beforeText: new RegExp(`^${index}\\. .+`),
action: { indentAction: editor_api.languages.IndentAction.None, appendText: `${index + 1}. ` }
}))
]
};
const language = {
defaultToken: "",
tokenPostfix: ".mdx",
control: /[!#()*+.[\\\]_`{}\-]/,
escapes: /\\@control/,
tokenizer: {
root: [
[/^---$/, { token: "meta.content", next: "@frontmatter", nextEmbedded: "yaml" }],
[/^\s*import/, { token: "keyword", next: "@import", nextEmbedded: "js" }],
[/^\s*export/, { token: "keyword", next: "@export", nextEmbedded: "js" }],
[/<\w+/, { token: "type.identifier", next: "@jsx" }],
[/<\/?\w+>/, "type.identifier"],
[
/^(\s*)(>*\s*)(#{1,6}\s)/,
[{ token: "white" }, { token: "comment" }, { token: "keyword", next: "@header" }]
],
[/^(\s*)(>*\s*)([*+-])(\s+)/, ["white", "comment", "keyword", "white"]],
[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/, ["white", "comment", "number", "white"]],
[/^(\s*)(>*\s*)(\d{1,9}\.)(\s+)/, ["white", "comment", "number", "white"]],
[/^(\s*)(>*\s*)(-{3,}|\*{3,}|_{3,})$/, ["white", "comment", "keyword"]],
[/`{3,}(\s.*)?$/, { token: "string", next: "@codeblock_backtick" }],
[/~{3,}(\s.*)?$/, { token: "string", next: "@codeblock_tilde" }],
[
/`{3,}(\S+).*$/,
{ token: "string", next: "@codeblock_highlight_backtick", nextEmbedded: "$1" }
],
[
/~{3,}(\S+).*$/,
{ token: "string", next: "@codeblock_highlight_tilde", nextEmbedded: "$1" }
],
[/^(\s*)(-{4,})$/, ["white", "comment"]],
[/^(\s*)(>+)/, ["white", "comment"]],
{ include: "content" }
],
content: [
[
/(\[)(.+)(]\()(.+)(\s+".*")(\))/,
["", "string.link", "", "type.identifier", "string.link", ""]
],
[/(\[)(.+)(]\()(.+)(\))/, ["", "type.identifier", "", "string.link", ""]],
[/(\[)(.+)(]\[)(.+)(])/, ["", "type.identifier", "", "type.identifier", ""]],
[/(\[)(.+)(]:\s+)(\S*)/, ["", "type.identifier", "", "string.link"]],
[/(\[)(.+)(])/, ["", "type.identifier", ""]],
[/`.*`/, "variable.source"],
[/_/, { token: "emphasis", next: "@emphasis_underscore" }],
[/\*(?!\*)/, { token: "emphasis", next: "@emphasis_asterisk" }],
[/\*\*/, { token: "strong", next: "@strong" }],
[/{/, { token: "delimiter.bracket", next: "@expression", nextEmbedded: "js" }]
],
import: [[/'\s*(;|$)/, { token: "string", next: "@pop", nextEmbedded: "@pop" }]],
expression: [
[/{/, { token: "delimiter.bracket", next: "@expression" }],
[/}/, { token: "delimiter.bracket", next: "@pop", nextEmbedded: "@pop" }]
],
export: [[/^\s*$/, { token: "delimiter.bracket", next: "@pop", nextEmbedded: "@pop" }]],
jsx: [
[/\s+/, ""],
[/(\w+)(=)("(?:[^"\\]|\\.)*")/, ["attribute.name", "operator", "string"]],
[/(\w+)(=)('(?:[^'\\]|\\.)*')/, ["attribute.name", "operator", "string"]],
[/(\w+(?=\s|>|={|$))/, ["attribute.name"]],
[/={/, { token: "delimiter.bracket", next: "@expression", nextEmbedded: "js" }],
[/>/, { token: "type.identifier", next: "@pop" }]
],
header: [
[/.$/, { token: "keyword", next: "@pop" }],
{ include: "content" },
[/./, { token: "keyword" }]
],
strong: [
[/\*\*/, { token: "strong", next: "@pop" }],
{ include: "content" },
[/./, { token: "strong" }]
],
emphasis_underscore: [
[/_/, { token: "emphasis", next: "@pop" }],
{ include: "content" },
[/./, { token: "emphasis" }]
],
emphasis_asterisk: [
[/\*(?!\*)/, { token: "emphasis", next: "@pop" }],
{ include: "content" },
[/./, { token: "emphasis" }]
],
frontmatter: [[/^---$/, { token: "meta.content", nextEmbedded: "@pop", next: "@pop" }]],
codeblock_highlight_backtick: [
[/\s*`{3,}\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
[/.*$/, "variable.source"]
],
codeblock_highlight_tilde: [
[/\s*~{3,}\s*$/, { token: "string", next: "@pop", nextEmbedded: "@pop" }],
[/.*$/, "variable.source"]
],
codeblock_backtick: [
[/\s*`{3,}\s*$/, { token: "string", next: "@pop" }],
[/.*$/, "variable.source"]
],
codeblock_tilde: [
[/\s*~{3,}\s*$/, { token: "string", next: "@pop" }],
[/.*$/, "variable.source"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+201
View File
@@ -0,0 +1,201 @@
define("vs/mips-zX62smW0", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
blockComment: ["###", "###"],
lineComment: "#"
},
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
const language = {
defaultToken: "",
ignoreCase: false,
tokenPostfix: ".mips",
regEx: /\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,
keywords: [
".data",
".text",
"syscall",
"trap",
"add",
"addu",
"addi",
"addiu",
"and",
"andi",
"div",
"divu",
"mult",
"multu",
"nor",
"or",
"ori",
"sll",
"slv",
"sra",
"srav",
"srl",
"srlv",
"sub",
"subu",
"xor",
"xori",
"lhi",
"lho",
"lhi",
"llo",
"slt",
"slti",
"sltu",
"sltiu",
"beq",
"bgtz",
"blez",
"bne",
"j",
"jal",
"jalr",
"jr",
"lb",
"lbu",
"lh",
"lhu",
"lw",
"li",
"la",
"sb",
"sh",
"sw",
"mfhi",
"mflo",
"mthi",
"mtlo",
"move"
],
// we include these common regular expressions
symbols: /[\.,\:]+/,
escapes: /\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[/\$[a-zA-Z_]\w*/, "variable.predefined"],
[
/[.a-zA-Z_]\w*/,
{
cases: {
this: "variable.predefined",
"@keywords": { token: "keyword.$0" },
"@default": ""
}
}
],
// whitespace
[/[ \t\r\n]+/, ""],
// Comments
[/#.*$/, "comment"],
// regular expressions
["///", { token: "regexp", next: "@hereregexp" }],
[/^(\s*)(@regEx)/, ["", "regexp"]],
[/(\,)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
[/(\:)(\s*)(@regEx)/, ["delimiter", "", "regexp"]],
// delimiters
[/@symbols/, "delimiter"],
// numbers
[/\d+[eE]([\-+]?\d+)?/, "number.float"],
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/0[0-7]+(?!\d)/, "number.octal"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[,.]/, "delimiter"],
// strings:
[/"""/, "string", '@herestring."""'],
[/'''/, "string", "@herestring.'''"],
[
/"/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: '@string."' }
}
}
],
[
/'/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: "@string.'" }
}
}
]
],
string: [
[/[^"'\#\\]+/, "string"],
[/@escapes/, "string.escape"],
[/\./, "string.escape.invalid"],
[/\./, "string.escape.invalid"],
[
/#{/,
{
cases: {
'$S2=="': {
token: "string",
next: "root.interpolatedstring"
},
"@default": "string"
}
}
],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/#/, "string"]
],
herestring: [
[
/("""|''')/,
{
cases: {
"$1==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/[^#\\'"]+/, "string"],
[/['"]+/, "string"],
[/@escapes/, "string.escape"],
[/\./, "string.escape.invalid"],
[/#{/, { token: "string.quote", next: "root.interpolatedstring" }],
[/#/, "string"]
],
comment: [
[/[^#]+/, "comment"],
[/#/, "comment"]
],
hereregexp: [
[/[^\\\/#]+/, "regexp"],
[/\\./, "regexp"],
[/#.*$/, "comment"],
["///[igm]*", { token: "regexp", next: "@pop" }],
[/\//, "regexp"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
@@ -0,0 +1,79 @@
define("vs/monaco.contribution-Cqdn_4Kw", ["require", "exports", "./editor.api-CykLys8L"], (function(require, exports, editor_api) {
"use strict";
class LanguageServiceDefaultsImpl {
constructor(languageId, diagnosticsOptions, modeConfiguration) {
this._onDidChange = new editor_api.Emitter();
this._languageId = languageId;
this.setDiagnosticsOptions(diagnosticsOptions);
this.setModeConfiguration(modeConfiguration);
}
get onDidChange() {
return this._onDidChange.event;
}
get languageId() {
return this._languageId;
}
get modeConfiguration() {
return this._modeConfiguration;
}
get diagnosticsOptions() {
return this._diagnosticsOptions;
}
setDiagnosticsOptions(options) {
this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
setModeConfiguration(modeConfiguration) {
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
}
const diagnosticDefault = {
validate: true,
allowComments: true,
schemas: [],
enableSchemaRequest: false,
schemaRequest: "warning",
schemaValidation: "warning",
comments: "error",
trailingCommas: "error"
};
const modeConfigurationDefault = {
documentFormattingEdits: true,
documentRangeFormattingEdits: true,
completionItems: true,
hovers: true,
documentSymbols: true,
tokens: true,
colors: true,
foldingRanges: true,
diagnostics: true,
selectionRanges: true
};
const jsonDefaults = new LanguageServiceDefaultsImpl(
"json",
diagnosticDefault,
modeConfigurationDefault
);
const getWorker = () => getMode().then((mode2) => mode2.getWorker());
function getMode() {
return new Promise((resolve, reject) => require(["./jsonMode-CCwfh_OB"], resolve, reject));
}
editor_api.languages.register({
id: "json",
extensions: [".json", ".bowerrc", ".jshintrc", ".jscsrc", ".eslintrc", ".babelrc", ".har"],
aliases: ["JSON", "json"],
mimetypes: ["application/json"]
});
editor_api.languages.onLanguage("json", () => {
getMode().then((mode2) => mode2.setupMode(jsonDefaults));
});
const monaco_contribution = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
getWorker,
jsonDefaults
}, Symbol.toStringTag, { value: "Module" }));
exports.getWorker = getWorker;
exports.jsonDefaults = jsonDefaults;
exports.monaco_contribution = monaco_contribution;
}));
@@ -0,0 +1,126 @@
define("vs/monaco.contribution-D74vF5SR", ["require", "exports", "./editor.api-CykLys8L"], (function(require, exports, editor_api) {
"use strict";
class LanguageServiceDefaultsImpl {
constructor(languageId, options, modeConfiguration) {
this._onDidChange = new editor_api.Emitter();
this._languageId = languageId;
this.setOptions(options);
this.setModeConfiguration(modeConfiguration);
}
get onDidChange() {
return this._onDidChange.event;
}
get languageId() {
return this._languageId;
}
get options() {
return this._options;
}
get modeConfiguration() {
return this._modeConfiguration;
}
setOptions(options) {
this._options = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
setModeConfiguration(modeConfiguration) {
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
}
const formatDefaults = {
tabSize: 4,
insertSpaces: false,
wrapLineLength: 120,
unformatted: 'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',
contentUnformatted: "pre",
indentInnerHtml: false,
preserveNewLines: true,
maxPreserveNewLines: void 0,
indentHandlebars: false,
endWithNewline: false,
extraLiners: "head, body, /html",
wrapAttributes: "auto"
};
const optionsDefault = {
format: formatDefaults,
suggest: {},
data: { useDefaultDataProvider: true }
};
function getConfigurationDefault(languageId) {
return {
completionItems: true,
hovers: true,
documentSymbols: true,
links: true,
documentHighlights: true,
rename: true,
colors: true,
foldingRanges: true,
selectionRanges: true,
diagnostics: languageId === htmlLanguageId,
// turned off for Razor and Handlebar
documentFormattingEdits: languageId === htmlLanguageId,
// turned off for Razor and Handlebar
documentRangeFormattingEdits: languageId === htmlLanguageId
// turned off for Razor and Handlebar
};
}
const htmlLanguageId = "html";
const handlebarsLanguageId = "handlebars";
const razorLanguageId = "razor";
const htmlLanguageService = registerHTMLLanguageService(
htmlLanguageId,
optionsDefault,
getConfigurationDefault(htmlLanguageId)
);
const htmlDefaults = htmlLanguageService.defaults;
const handlebarLanguageService = registerHTMLLanguageService(
handlebarsLanguageId,
optionsDefault,
getConfigurationDefault(handlebarsLanguageId)
);
const handlebarDefaults = handlebarLanguageService.defaults;
const razorLanguageService = registerHTMLLanguageService(
razorLanguageId,
optionsDefault,
getConfigurationDefault(razorLanguageId)
);
const razorDefaults = razorLanguageService.defaults;
function getMode() {
return new Promise((resolve, reject) => require(["./htmlMode-Cz7zhZ7P"], resolve, reject));
}
function registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {
const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);
let mode2;
const onLanguageListener = editor_api.languages.onLanguage(languageId, async () => {
mode2 = (await getMode()).setupMode(defaults);
});
return {
defaults,
dispose() {
onLanguageListener.dispose();
mode2?.dispose();
mode2 = void 0;
}
};
}
const monaco_contribution = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
handlebarDefaults,
handlebarLanguageService,
htmlDefaults,
htmlLanguageService,
razorDefaults,
razorLanguageService,
registerHTMLLanguageService
}, Symbol.toStringTag, { value: "Module" }));
exports.handlebarDefaults = handlebarDefaults;
exports.handlebarLanguageService = handlebarLanguageService;
exports.htmlDefaults = htmlDefaults;
exports.htmlLanguageService = htmlLanguageService;
exports.monaco_contribution = monaco_contribution;
exports.razorDefaults = razorDefaults;
exports.razorLanguageService = razorLanguageService;
exports.registerHTMLLanguageService = registerHTMLLanguageService;
}));
@@ -0,0 +1,121 @@
define("vs/monaco.contribution-D_SyqKiy", ["require", "exports", "./editor.api-CykLys8L"], (function(require, exports, editor_api) {
"use strict";
class LanguageServiceDefaultsImpl {
constructor(languageId, options, modeConfiguration) {
this._onDidChange = new editor_api.Emitter();
this._languageId = languageId;
this.setOptions(options);
this.setModeConfiguration(modeConfiguration);
}
get onDidChange() {
return this._onDidChange.event;
}
get languageId() {
return this._languageId;
}
get modeConfiguration() {
return this._modeConfiguration;
}
get diagnosticsOptions() {
return this.options;
}
get options() {
return this._options;
}
setOptions(options) {
this._options = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
setDiagnosticsOptions(options) {
this.setOptions(options);
}
setModeConfiguration(modeConfiguration) {
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(this);
}
}
const optionsDefault = {
validate: true,
lint: {
compatibleVendorPrefixes: "ignore",
vendorPrefix: "warning",
duplicateProperties: "warning",
emptyRules: "warning",
importStatement: "ignore",
boxModel: "ignore",
universalSelector: "ignore",
zeroUnits: "ignore",
fontFaceProperties: "warning",
hexColorLength: "error",
argumentsInColorFunction: "error",
unknownProperties: "warning",
ieHack: "ignore",
unknownVendorSpecificProperties: "ignore",
propertyIgnoredDueToDisplay: "warning",
important: "ignore",
float: "ignore",
idSelector: "ignore"
},
data: { useDefaultDataProvider: true },
format: {
newlineBetweenSelectors: true,
newlineBetweenRules: true,
spaceAroundSelectorSeparator: false,
braceStyle: "collapse",
maxPreserveNewLines: void 0,
preserveNewLines: true
}
};
const modeConfigurationDefault = {
completionItems: true,
hovers: true,
documentSymbols: true,
definitions: true,
references: true,
documentHighlights: true,
rename: true,
colors: true,
foldingRanges: true,
diagnostics: true,
selectionRanges: true,
documentFormattingEdits: true,
documentRangeFormattingEdits: true
};
const cssDefaults = new LanguageServiceDefaultsImpl(
"css",
optionsDefault,
modeConfigurationDefault
);
const scssDefaults = new LanguageServiceDefaultsImpl(
"scss",
optionsDefault,
modeConfigurationDefault
);
const lessDefaults = new LanguageServiceDefaultsImpl(
"less",
optionsDefault,
modeConfigurationDefault
);
function getMode() {
return new Promise((resolve, reject) => require(["./cssMode-Cakukknl"], resolve, reject));
}
editor_api.languages.onLanguage("less", () => {
getMode().then((mode2) => mode2.setupMode(lessDefaults));
});
editor_api.languages.onLanguage("scss", () => {
getMode().then((mode2) => mode2.setupMode(scssDefaults));
});
editor_api.languages.onLanguage("css", () => {
getMode().then((mode2) => mode2.setupMode(cssDefaults));
});
const monaco_contribution = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
cssDefaults,
lessDefaults,
scssDefaults
}, Symbol.toStringTag, { value: "Module" }));
exports.cssDefaults = cssDefaults;
exports.lessDefaults = lessDefaults;
exports.monaco_contribution = monaco_contribution;
exports.scssDefaults = scssDefaults;
}));
@@ -0,0 +1,265 @@
define("vs/monaco.contribution-YfYcxPkX", ["require", "exports", "./editor.api-CykLys8L"], (function(require, exports, editor_api) {
"use strict";
const typescriptVersion$1 = "5.9.3";
var ModuleKind = /* @__PURE__ */ ((ModuleKind2) => {
ModuleKind2[ModuleKind2["None"] = 0] = "None";
ModuleKind2[ModuleKind2["CommonJS"] = 1] = "CommonJS";
ModuleKind2[ModuleKind2["AMD"] = 2] = "AMD";
ModuleKind2[ModuleKind2["UMD"] = 3] = "UMD";
ModuleKind2[ModuleKind2["System"] = 4] = "System";
ModuleKind2[ModuleKind2["ES2015"] = 5] = "ES2015";
ModuleKind2[ModuleKind2["ESNext"] = 99] = "ESNext";
return ModuleKind2;
})(ModuleKind || {});
var JsxEmit = /* @__PURE__ */ ((JsxEmit2) => {
JsxEmit2[JsxEmit2["None"] = 0] = "None";
JsxEmit2[JsxEmit2["Preserve"] = 1] = "Preserve";
JsxEmit2[JsxEmit2["React"] = 2] = "React";
JsxEmit2[JsxEmit2["ReactNative"] = 3] = "ReactNative";
JsxEmit2[JsxEmit2["ReactJSX"] = 4] = "ReactJSX";
JsxEmit2[JsxEmit2["ReactJSXDev"] = 5] = "ReactJSXDev";
return JsxEmit2;
})(JsxEmit || {});
var NewLineKind = /* @__PURE__ */ ((NewLineKind2) => {
NewLineKind2[NewLineKind2["CarriageReturnLineFeed"] = 0] = "CarriageReturnLineFeed";
NewLineKind2[NewLineKind2["LineFeed"] = 1] = "LineFeed";
return NewLineKind2;
})(NewLineKind || {});
var ScriptTarget = /* @__PURE__ */ ((ScriptTarget2) => {
ScriptTarget2[ScriptTarget2["ES3"] = 0] = "ES3";
ScriptTarget2[ScriptTarget2["ES5"] = 1] = "ES5";
ScriptTarget2[ScriptTarget2["ES2015"] = 2] = "ES2015";
ScriptTarget2[ScriptTarget2["ES2016"] = 3] = "ES2016";
ScriptTarget2[ScriptTarget2["ES2017"] = 4] = "ES2017";
ScriptTarget2[ScriptTarget2["ES2018"] = 5] = "ES2018";
ScriptTarget2[ScriptTarget2["ES2019"] = 6] = "ES2019";
ScriptTarget2[ScriptTarget2["ES2020"] = 7] = "ES2020";
ScriptTarget2[ScriptTarget2["ESNext"] = 99] = "ESNext";
ScriptTarget2[ScriptTarget2["JSON"] = 100] = "JSON";
ScriptTarget2[
ScriptTarget2["Latest"] = 99
/* ESNext */
] = "Latest";
return ScriptTarget2;
})(ScriptTarget || {});
var ModuleResolutionKind = /* @__PURE__ */ ((ModuleResolutionKind2) => {
ModuleResolutionKind2[ModuleResolutionKind2["Classic"] = 1] = "Classic";
ModuleResolutionKind2[ModuleResolutionKind2["NodeJs"] = 2] = "NodeJs";
return ModuleResolutionKind2;
})(ModuleResolutionKind || {});
class LanguageServiceDefaultsImpl {
constructor(compilerOptions, diagnosticsOptions, workerOptions, inlayHintsOptions, modeConfiguration) {
this._onDidChange = new editor_api.Emitter();
this._onDidExtraLibsChange = new editor_api.Emitter();
this._extraLibs = /* @__PURE__ */ Object.create(null);
this._removedExtraLibs = /* @__PURE__ */ Object.create(null);
this._eagerModelSync = false;
this.setCompilerOptions(compilerOptions);
this.setDiagnosticsOptions(diagnosticsOptions);
this.setWorkerOptions(workerOptions);
this.setInlayHintsOptions(inlayHintsOptions);
this.setModeConfiguration(modeConfiguration);
this._onDidExtraLibsChangeTimeout = -1;
}
get onDidChange() {
return this._onDidChange.event;
}
get onDidExtraLibsChange() {
return this._onDidExtraLibsChange.event;
}
get modeConfiguration() {
return this._modeConfiguration;
}
get workerOptions() {
return this._workerOptions;
}
get inlayHintsOptions() {
return this._inlayHintsOptions;
}
getExtraLibs() {
return this._extraLibs;
}
addExtraLib(content, _filePath) {
let filePath;
if (typeof _filePath === "undefined") {
filePath = `ts:extralib-${Math.random().toString(36).substring(2, 15)}`;
} else {
filePath = _filePath;
}
if (this._extraLibs[filePath] && this._extraLibs[filePath].content === content) {
return {
dispose: () => {
}
};
}
let myVersion = 1;
if (this._removedExtraLibs[filePath]) {
myVersion = this._removedExtraLibs[filePath] + 1;
}
if (this._extraLibs[filePath]) {
myVersion = this._extraLibs[filePath].version + 1;
}
this._extraLibs[filePath] = {
content,
version: myVersion
};
this._fireOnDidExtraLibsChangeSoon();
return {
dispose: () => {
let extraLib = this._extraLibs[filePath];
if (!extraLib) {
return;
}
if (extraLib.version !== myVersion) {
return;
}
delete this._extraLibs[filePath];
this._removedExtraLibs[filePath] = myVersion;
this._fireOnDidExtraLibsChangeSoon();
}
};
}
setExtraLibs(libs) {
for (const filePath in this._extraLibs) {
this._removedExtraLibs[filePath] = this._extraLibs[filePath].version;
}
this._extraLibs = /* @__PURE__ */ Object.create(null);
if (libs && libs.length > 0) {
for (const lib of libs) {
const filePath = lib.filePath || `ts:extralib-${Math.random().toString(36).substring(2, 15)}`;
const content = lib.content;
let myVersion = 1;
if (this._removedExtraLibs[filePath]) {
myVersion = this._removedExtraLibs[filePath] + 1;
}
this._extraLibs[filePath] = {
content,
version: myVersion
};
}
}
this._fireOnDidExtraLibsChangeSoon();
}
_fireOnDidExtraLibsChangeSoon() {
if (this._onDidExtraLibsChangeTimeout !== -1) {
return;
}
this._onDidExtraLibsChangeTimeout = window.setTimeout(() => {
this._onDidExtraLibsChangeTimeout = -1;
this._onDidExtraLibsChange.fire(void 0);
}, 0);
}
getCompilerOptions() {
return this._compilerOptions;
}
setCompilerOptions(options) {
this._compilerOptions = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(void 0);
}
getDiagnosticsOptions() {
return this._diagnosticsOptions;
}
setDiagnosticsOptions(options) {
this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(void 0);
}
setWorkerOptions(options) {
this._workerOptions = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(void 0);
}
setInlayHintsOptions(options) {
this._inlayHintsOptions = options || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(void 0);
}
setMaximumWorkerIdleTime(value) {
}
setEagerModelSync(value) {
this._eagerModelSync = value;
}
getEagerModelSync() {
return this._eagerModelSync;
}
setModeConfiguration(modeConfiguration) {
this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
this._onDidChange.fire(void 0);
}
}
const typescriptVersion = typescriptVersion$1;
const modeConfigurationDefault = {
completionItems: true,
hovers: true,
documentSymbols: true,
definitions: true,
references: true,
documentHighlights: true,
rename: true,
diagnostics: true,
documentRangeFormattingEdits: true,
signatureHelp: true,
onTypeFormattingEdits: true,
codeActions: true,
inlayHints: true
};
const typescriptDefaults = new LanguageServiceDefaultsImpl(
{
allowNonTsExtensions: true,
target: 99
/* Latest */
},
{ noSemanticValidation: false, noSyntaxValidation: false, onlyVisible: false },
{},
{},
modeConfigurationDefault
);
const javascriptDefaults = new LanguageServiceDefaultsImpl(
{
allowNonTsExtensions: true,
allowJs: true,
target: 99
/* Latest */
},
{ noSemanticValidation: true, noSyntaxValidation: false, onlyVisible: false },
{},
{},
modeConfigurationDefault
);
const getTypeScriptWorker = () => {
return getMode().then((mode) => mode.getTypeScriptWorker());
};
const getJavaScriptWorker = () => {
return getMode().then((mode) => mode.getJavaScriptWorker());
};
function getMode() {
return new Promise((resolve, reject) => require(["./tsMode-CYrPzhIX"], resolve, reject));
}
editor_api.languages.onLanguage("typescript", () => {
return getMode().then((mode) => mode.setupTypeScript(typescriptDefaults));
});
editor_api.languages.onLanguage("javascript", () => {
return getMode().then((mode) => mode.setupJavaScript(javascriptDefaults));
});
const monaco_contribution = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
JsxEmit,
ModuleKind,
ModuleResolutionKind,
NewLineKind,
ScriptTarget,
getJavaScriptWorker,
getTypeScriptWorker,
javascriptDefaults,
typescriptDefaults,
typescriptVersion
}, Symbol.toStringTag, { value: "Module" }));
exports.JsxEmit = JsxEmit;
exports.ModuleKind = ModuleKind;
exports.ModuleResolutionKind = ModuleResolutionKind;
exports.NewLineKind = NewLineKind;
exports.ScriptTarget = ScriptTarget;
exports.getJavaScriptWorker = getJavaScriptWorker;
exports.getTypeScriptWorker = getTypeScriptWorker;
exports.javascriptDefaults = javascriptDefaults;
exports.monaco_contribution = monaco_contribution;
exports.typescriptDefaults = typescriptDefaults;
exports.typescriptVersion = typescriptVersion;
}));
+378
View File
@@ -0,0 +1,378 @@
define("vs/msdax-MzEb-8sD", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["[", "]"],
["(", ")"],
["{", "}"]
],
autoClosingPairs: [
{ open: '"', close: '"', notIn: ["string", "comment"] },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: "[", close: "]", notIn: ["string", "comment"] },
{ open: "(", close: ")", notIn: ["string", "comment"] },
{ open: "{", close: "}", notIn: ["string", "comment"] }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".msdax",
ignoreCase: true,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "{", close: "}", token: "delimiter.brackets" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
// Query keywords
"VAR",
"RETURN",
"NOT",
"EVALUATE",
"DATATABLE",
"ORDER",
"BY",
"START",
"AT",
"DEFINE",
"MEASURE",
"ASC",
"DESC",
"IN",
// Datatable types
"BOOLEAN",
"DOUBLE",
"INTEGER",
"DATETIME",
"CURRENCY",
"STRING"
],
functions: [
// Relational
"CLOSINGBALANCEMONTH",
"CLOSINGBALANCEQUARTER",
"CLOSINGBALANCEYEAR",
"DATEADD",
"DATESBETWEEN",
"DATESINPERIOD",
"DATESMTD",
"DATESQTD",
"DATESYTD",
"ENDOFMONTH",
"ENDOFQUARTER",
"ENDOFYEAR",
"FIRSTDATE",
"FIRSTNONBLANK",
"LASTDATE",
"LASTNONBLANK",
"NEXTDAY",
"NEXTMONTH",
"NEXTQUARTER",
"NEXTYEAR",
"OPENINGBALANCEMONTH",
"OPENINGBALANCEQUARTER",
"OPENINGBALANCEYEAR",
"PARALLELPERIOD",
"PREVIOUSDAY",
"PREVIOUSMONTH",
"PREVIOUSQUARTER",
"PREVIOUSYEAR",
"SAMEPERIODLASTYEAR",
"STARTOFMONTH",
"STARTOFQUARTER",
"STARTOFYEAR",
"TOTALMTD",
"TOTALQTD",
"TOTALYTD",
"ADDCOLUMNS",
"ADDMISSINGITEMS",
"ALL",
"ALLEXCEPT",
"ALLNOBLANKROW",
"ALLSELECTED",
"CALCULATE",
"CALCULATETABLE",
"CALENDAR",
"CALENDARAUTO",
"CROSSFILTER",
"CROSSJOIN",
"CURRENTGROUP",
"DATATABLE",
"DETAILROWS",
"DISTINCT",
"EARLIER",
"EARLIEST",
"EXCEPT",
"FILTER",
"FILTERS",
"GENERATE",
"GENERATEALL",
"GROUPBY",
"IGNORE",
"INTERSECT",
"ISONORAFTER",
"KEEPFILTERS",
"LOOKUPVALUE",
"NATURALINNERJOIN",
"NATURALLEFTOUTERJOIN",
"RELATED",
"RELATEDTABLE",
"ROLLUP",
"ROLLUPADDISSUBTOTAL",
"ROLLUPGROUP",
"ROLLUPISSUBTOTAL",
"ROW",
"SAMPLE",
"SELECTCOLUMNS",
"SUBSTITUTEWITHINDEX",
"SUMMARIZE",
"SUMMARIZECOLUMNS",
"TOPN",
"TREATAS",
"UNION",
"USERELATIONSHIP",
"VALUES",
"SUM",
"SUMX",
"PATH",
"PATHCONTAINS",
"PATHITEM",
"PATHITEMREVERSE",
"PATHLENGTH",
"AVERAGE",
"AVERAGEA",
"AVERAGEX",
"COUNT",
"COUNTA",
"COUNTAX",
"COUNTBLANK",
"COUNTROWS",
"COUNTX",
"DISTINCTCOUNT",
"DIVIDE",
"GEOMEAN",
"GEOMEANX",
"MAX",
"MAXA",
"MAXX",
"MEDIAN",
"MEDIANX",
"MIN",
"MINA",
"MINX",
"PERCENTILE.EXC",
"PERCENTILE.INC",
"PERCENTILEX.EXC",
"PERCENTILEX.INC",
"PRODUCT",
"PRODUCTX",
"RANK.EQ",
"RANKX",
"STDEV.P",
"STDEV.S",
"STDEVX.P",
"STDEVX.S",
"VAR.P",
"VAR.S",
"VARX.P",
"VARX.S",
"XIRR",
"XNPV",
// Scalar
"DATE",
"DATEDIFF",
"DATEVALUE",
"DAY",
"EDATE",
"EOMONTH",
"HOUR",
"MINUTE",
"MONTH",
"NOW",
"SECOND",
"TIME",
"TIMEVALUE",
"TODAY",
"WEEKDAY",
"WEEKNUM",
"YEAR",
"YEARFRAC",
"CONTAINS",
"CONTAINSROW",
"CUSTOMDATA",
"ERROR",
"HASONEFILTER",
"HASONEVALUE",
"ISBLANK",
"ISCROSSFILTERED",
"ISEMPTY",
"ISERROR",
"ISEVEN",
"ISFILTERED",
"ISLOGICAL",
"ISNONTEXT",
"ISNUMBER",
"ISODD",
"ISSUBTOTAL",
"ISTEXT",
"USERNAME",
"USERPRINCIPALNAME",
"AND",
"FALSE",
"IF",
"IFERROR",
"NOT",
"OR",
"SWITCH",
"TRUE",
"ABS",
"ACOS",
"ACOSH",
"ACOT",
"ACOTH",
"ASIN",
"ASINH",
"ATAN",
"ATANH",
"BETA.DIST",
"BETA.INV",
"CEILING",
"CHISQ.DIST",
"CHISQ.DIST.RT",
"CHISQ.INV",
"CHISQ.INV.RT",
"COMBIN",
"COMBINA",
"CONFIDENCE.NORM",
"CONFIDENCE.T",
"COS",
"COSH",
"COT",
"COTH",
"CURRENCY",
"DEGREES",
"EVEN",
"EXP",
"EXPON.DIST",
"FACT",
"FLOOR",
"GCD",
"INT",
"ISO.CEILING",
"LCM",
"LN",
"LOG",
"LOG10",
"MOD",
"MROUND",
"ODD",
"PERMUT",
"PI",
"POISSON.DIST",
"POWER",
"QUOTIENT",
"RADIANS",
"RAND",
"RANDBETWEEN",
"ROUND",
"ROUNDDOWN",
"ROUNDUP",
"SIGN",
"SIN",
"SINH",
"SQRT",
"SQRTPI",
"TAN",
"TANH",
"TRUNC",
"BLANK",
"CONCATENATE",
"CONCATENATEX",
"EXACT",
"FIND",
"FIXED",
"FORMAT",
"LEFT",
"LEN",
"LOWER",
"MID",
"REPLACE",
"REPT",
"RIGHT",
"SEARCH",
"SUBSTITUTE",
"TRIM",
"UNICHAR",
"UNICODE",
"UPPER",
"VALUE"
],
tokenizer: {
root: [
{ include: "@comments" },
{ include: "@whitespace" },
{ include: "@numbers" },
{ include: "@strings" },
{ include: "@complexIdentifiers" },
[/[;,.]/, "delimiter"],
[/[({})]/, "@brackets"],
[
/[a-z_][a-zA-Z0-9_]*/,
{
cases: {
"@keywords": "keyword",
"@functions": "keyword",
"@default": "identifier"
}
}
],
[/[<>=!%&+\-*/|~^]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
comments: [
[/\/\/+.*/, "comment"],
[/\/\*/, { token: "comment.quote", next: "@comment" }]
],
comment: [
[/[^*/]+/, "comment"],
[/\*\//, { token: "comment.quote", next: "@pop" }],
[/./, "comment"]
],
numbers: [
[/0[xX][0-9a-fA-F]*/, "number"],
[/[$][+-]*\d*(\.\d*)?/, "number"],
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
],
strings: [
[/N"/, { token: "string", next: "@string" }],
[/"/, { token: "string", next: "@string" }]
],
string: [
[/[^"]+/, "string"],
[/""/, "string"],
[/"/, { token: "string", next: "@pop" }]
],
complexIdentifiers: [
[/\[/, { token: "identifier.quote", next: "@bracketedIdentifier" }],
[/'/, { token: "identifier.quote", next: "@quotedIdentifier" }]
],
bracketedIdentifier: [
[/[^\]]+/, "identifier"],
[/]]/, "identifier"],
[/]/, { token: "identifier.quote", next: "@pop" }]
],
quotedIdentifier: [
[/[^']+/, "identifier"],
[/''/, "identifier"],
[/'/, { token: "identifier.quote", next: "@pop" }]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+881
View File
@@ -0,0 +1,881 @@
define("vs/mysql-Drs0JCLT", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "--",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".sql",
ignoreCase: true,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
// This list is generated using `keywords.js`
"ACCESSIBLE",
"ADD",
"ALL",
"ALTER",
"ANALYZE",
"AND",
"AS",
"ASC",
"ASENSITIVE",
"BEFORE",
"BETWEEN",
"BIGINT",
"BINARY",
"BLOB",
"BOTH",
"BY",
"CALL",
"CASCADE",
"CASE",
"CHANGE",
"CHAR",
"CHARACTER",
"CHECK",
"COLLATE",
"COLUMN",
"CONDITION",
"CONSTRAINT",
"CONTINUE",
"CONVERT",
"CREATE",
"CROSS",
"CUBE",
"CUME_DIST",
"CURRENT_DATE",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"CURSOR",
"DATABASE",
"DATABASES",
"DAY_HOUR",
"DAY_MICROSECOND",
"DAY_MINUTE",
"DAY_SECOND",
"DEC",
"DECIMAL",
"DECLARE",
"DEFAULT",
"DELAYED",
"DELETE",
"DENSE_RANK",
"DESC",
"DESCRIBE",
"DETERMINISTIC",
"DISTINCT",
"DISTINCTROW",
"DIV",
"DOUBLE",
"DROP",
"DUAL",
"EACH",
"ELSE",
"ELSEIF",
"EMPTY",
"ENCLOSED",
"ESCAPED",
"EXCEPT",
"EXISTS",
"EXIT",
"EXPLAIN",
"FALSE",
"FETCH",
"FIRST_VALUE",
"FLOAT",
"FLOAT4",
"FLOAT8",
"FOR",
"FORCE",
"FOREIGN",
"FROM",
"FULLTEXT",
"FUNCTION",
"GENERATED",
"GET",
"GRANT",
"GROUP",
"GROUPING",
"GROUPS",
"HAVING",
"HIGH_PRIORITY",
"HOUR_MICROSECOND",
"HOUR_MINUTE",
"HOUR_SECOND",
"IF",
"IGNORE",
"IN",
"INDEX",
"INFILE",
"INNER",
"INOUT",
"INSENSITIVE",
"INSERT",
"INT",
"INT1",
"INT2",
"INT3",
"INT4",
"INT8",
"INTEGER",
"INTERVAL",
"INTO",
"IO_AFTER_GTIDS",
"IO_BEFORE_GTIDS",
"IS",
"ITERATE",
"JOIN",
"JSON_TABLE",
"KEY",
"KEYS",
"KILL",
"LAG",
"LAST_VALUE",
"LATERAL",
"LEAD",
"LEADING",
"LEAVE",
"LEFT",
"LIKE",
"LIMIT",
"LINEAR",
"LINES",
"LOAD",
"LOCALTIME",
"LOCALTIMESTAMP",
"LOCK",
"LONG",
"LONGBLOB",
"LONGTEXT",
"LOOP",
"LOW_PRIORITY",
"MASTER_BIND",
"MASTER_SSL_VERIFY_SERVER_CERT",
"MATCH",
"MAXVALUE",
"MEDIUMBLOB",
"MEDIUMINT",
"MEDIUMTEXT",
"MIDDLEINT",
"MINUTE_MICROSECOND",
"MINUTE_SECOND",
"MOD",
"MODIFIES",
"NATURAL",
"NOT",
"NO_WRITE_TO_BINLOG",
"NTH_VALUE",
"NTILE",
"NULL",
"NUMERIC",
"OF",
"ON",
"OPTIMIZE",
"OPTIMIZER_COSTS",
"OPTION",
"OPTIONALLY",
"OR",
"ORDER",
"OUT",
"OUTER",
"OUTFILE",
"OVER",
"PARTITION",
"PERCENT_RANK",
"PRECISION",
"PRIMARY",
"PROCEDURE",
"PURGE",
"RANGE",
"RANK",
"READ",
"READS",
"READ_WRITE",
"REAL",
"RECURSIVE",
"REFERENCES",
"REGEXP",
"RELEASE",
"RENAME",
"REPEAT",
"REPLACE",
"REQUIRE",
"RESIGNAL",
"RESTRICT",
"RETURN",
"REVOKE",
"RIGHT",
"RLIKE",
"ROW",
"ROWS",
"ROW_NUMBER",
"SCHEMA",
"SCHEMAS",
"SECOND_MICROSECOND",
"SELECT",
"SENSITIVE",
"SEPARATOR",
"SET",
"SHOW",
"SIGNAL",
"SMALLINT",
"SPATIAL",
"SPECIFIC",
"SQL",
"SQLEXCEPTION",
"SQLSTATE",
"SQLWARNING",
"SQL_BIG_RESULT",
"SQL_CALC_FOUND_ROWS",
"SQL_SMALL_RESULT",
"SSL",
"STARTING",
"STORED",
"STRAIGHT_JOIN",
"SYSTEM",
"TABLE",
"TERMINATED",
"THEN",
"TINYBLOB",
"TINYINT",
"TINYTEXT",
"TO",
"TRAILING",
"TRIGGER",
"TRUE",
"UNDO",
"UNION",
"UNIQUE",
"UNLOCK",
"UNSIGNED",
"UPDATE",
"USAGE",
"USE",
"USING",
"UTC_DATE",
"UTC_TIME",
"UTC_TIMESTAMP",
"VALUES",
"VARBINARY",
"VARCHAR",
"VARCHARACTER",
"VARYING",
"VIRTUAL",
"WHEN",
"WHERE",
"WHILE",
"WINDOW",
"WITH",
"WRITE",
"XOR",
"YEAR_MONTH",
"ZEROFILL"
],
operators: [
"AND",
"BETWEEN",
"IN",
"LIKE",
"NOT",
"OR",
"IS",
"NULL",
"INTERSECT",
"UNION",
"INNER",
"JOIN",
"LEFT",
"OUTER",
"RIGHT"
],
builtinFunctions: [
"ABS",
"ACOS",
"ADDDATE",
"ADDTIME",
"AES_DECRYPT",
"AES_ENCRYPT",
"ANY_VALUE",
"Area",
"AsBinary",
"AsWKB",
"ASCII",
"ASIN",
"AsText",
"AsWKT",
"ASYMMETRIC_DECRYPT",
"ASYMMETRIC_DERIVE",
"ASYMMETRIC_ENCRYPT",
"ASYMMETRIC_SIGN",
"ASYMMETRIC_VERIFY",
"ATAN",
"ATAN2",
"ATAN",
"AVG",
"BENCHMARK",
"BIN",
"BIT_AND",
"BIT_COUNT",
"BIT_LENGTH",
"BIT_OR",
"BIT_XOR",
"Buffer",
"CAST",
"CEIL",
"CEILING",
"Centroid",
"CHAR",
"CHAR_LENGTH",
"CHARACTER_LENGTH",
"CHARSET",
"COALESCE",
"COERCIBILITY",
"COLLATION",
"COMPRESS",
"CONCAT",
"CONCAT_WS",
"CONNECTION_ID",
"Contains",
"CONV",
"CONVERT",
"CONVERT_TZ",
"ConvexHull",
"COS",
"COT",
"COUNT",
"CRC32",
"CREATE_ASYMMETRIC_PRIV_KEY",
"CREATE_ASYMMETRIC_PUB_KEY",
"CREATE_DH_PARAMETERS",
"CREATE_DIGEST",
"Crosses",
"CUME_DIST",
"CURDATE",
"CURRENT_DATE",
"CURRENT_ROLE",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"CURTIME",
"DATABASE",
"DATE",
"DATE_ADD",
"DATE_FORMAT",
"DATE_SUB",
"DATEDIFF",
"DAY",
"DAYNAME",
"DAYOFMONTH",
"DAYOFWEEK",
"DAYOFYEAR",
"DECODE",
"DEFAULT",
"DEGREES",
"DES_DECRYPT",
"DES_ENCRYPT",
"DENSE_RANK",
"Dimension",
"Disjoint",
"Distance",
"ELT",
"ENCODE",
"ENCRYPT",
"EndPoint",
"Envelope",
"Equals",
"EXP",
"EXPORT_SET",
"ExteriorRing",
"EXTRACT",
"ExtractValue",
"FIELD",
"FIND_IN_SET",
"FIRST_VALUE",
"FLOOR",
"FORMAT",
"FORMAT_BYTES",
"FORMAT_PICO_TIME",
"FOUND_ROWS",
"FROM_BASE64",
"FROM_DAYS",
"FROM_UNIXTIME",
"GEN_RANGE",
"GEN_RND_EMAIL",
"GEN_RND_PAN",
"GEN_RND_SSN",
"GEN_RND_US_PHONE",
"GeomCollection",
"GeomCollFromText",
"GeometryCollectionFromText",
"GeomCollFromWKB",
"GeometryCollectionFromWKB",
"GeometryCollection",
"GeometryN",
"GeometryType",
"GeomFromText",
"GeometryFromText",
"GeomFromWKB",
"GeometryFromWKB",
"GET_FORMAT",
"GET_LOCK",
"GLength",
"GREATEST",
"GROUP_CONCAT",
"GROUPING",
"GTID_SUBSET",
"GTID_SUBTRACT",
"HEX",
"HOUR",
"ICU_VERSION",
"IF",
"IFNULL",
"INET_ATON",
"INET_NTOA",
"INET6_ATON",
"INET6_NTOA",
"INSERT",
"INSTR",
"InteriorRingN",
"Intersects",
"INTERVAL",
"IS_FREE_LOCK",
"IS_IPV4",
"IS_IPV4_COMPAT",
"IS_IPV4_MAPPED",
"IS_IPV6",
"IS_USED_LOCK",
"IS_UUID",
"IsClosed",
"IsEmpty",
"ISNULL",
"IsSimple",
"JSON_APPEND",
"JSON_ARRAY",
"JSON_ARRAY_APPEND",
"JSON_ARRAY_INSERT",
"JSON_ARRAYAGG",
"JSON_CONTAINS",
"JSON_CONTAINS_PATH",
"JSON_DEPTH",
"JSON_EXTRACT",
"JSON_INSERT",
"JSON_KEYS",
"JSON_LENGTH",
"JSON_MERGE",
"JSON_MERGE_PATCH",
"JSON_MERGE_PRESERVE",
"JSON_OBJECT",
"JSON_OBJECTAGG",
"JSON_OVERLAPS",
"JSON_PRETTY",
"JSON_QUOTE",
"JSON_REMOVE",
"JSON_REPLACE",
"JSON_SCHEMA_VALID",
"JSON_SCHEMA_VALIDATION_REPORT",
"JSON_SEARCH",
"JSON_SET",
"JSON_STORAGE_FREE",
"JSON_STORAGE_SIZE",
"JSON_TABLE",
"JSON_TYPE",
"JSON_UNQUOTE",
"JSON_VALID",
"LAG",
"LAST_DAY",
"LAST_INSERT_ID",
"LAST_VALUE",
"LCASE",
"LEAD",
"LEAST",
"LEFT",
"LENGTH",
"LineFromText",
"LineStringFromText",
"LineFromWKB",
"LineStringFromWKB",
"LineString",
"LN",
"LOAD_FILE",
"LOCALTIME",
"LOCALTIMESTAMP",
"LOCATE",
"LOG",
"LOG10",
"LOG2",
"LOWER",
"LPAD",
"LTRIM",
"MAKE_SET",
"MAKEDATE",
"MAKETIME",
"MASK_INNER",
"MASK_OUTER",
"MASK_PAN",
"MASK_PAN_RELAXED",
"MASK_SSN",
"MASTER_POS_WAIT",
"MAX",
"MBRContains",
"MBRCoveredBy",
"MBRCovers",
"MBRDisjoint",
"MBREqual",
"MBREquals",
"MBRIntersects",
"MBROverlaps",
"MBRTouches",
"MBRWithin",
"MD5",
"MEMBER OF",
"MICROSECOND",
"MID",
"MIN",
"MINUTE",
"MLineFromText",
"MultiLineStringFromText",
"MLineFromWKB",
"MultiLineStringFromWKB",
"MOD",
"MONTH",
"MONTHNAME",
"MPointFromText",
"MultiPointFromText",
"MPointFromWKB",
"MultiPointFromWKB",
"MPolyFromText",
"MultiPolygonFromText",
"MPolyFromWKB",
"MultiPolygonFromWKB",
"MultiLineString",
"MultiPoint",
"MultiPolygon",
"NAME_CONST",
"NOT IN",
"NOW",
"NTH_VALUE",
"NTILE",
"NULLIF",
"NumGeometries",
"NumInteriorRings",
"NumPoints",
"OCT",
"OCTET_LENGTH",
"OLD_PASSWORD",
"ORD",
"Overlaps",
"PASSWORD",
"PERCENT_RANK",
"PERIOD_ADD",
"PERIOD_DIFF",
"PI",
"Point",
"PointFromText",
"PointFromWKB",
"PointN",
"PolyFromText",
"PolygonFromText",
"PolyFromWKB",
"PolygonFromWKB",
"Polygon",
"POSITION",
"POW",
"POWER",
"PS_CURRENT_THREAD_ID",
"PS_THREAD_ID",
"PROCEDURE ANALYSE",
"QUARTER",
"QUOTE",
"RADIANS",
"RAND",
"RANDOM_BYTES",
"RANK",
"REGEXP_INSTR",
"REGEXP_LIKE",
"REGEXP_REPLACE",
"REGEXP_REPLACE",
"RELEASE_ALL_LOCKS",
"RELEASE_LOCK",
"REPEAT",
"REPLACE",
"REVERSE",
"RIGHT",
"ROLES_GRAPHML",
"ROUND",
"ROW_COUNT",
"ROW_NUMBER",
"RPAD",
"RTRIM",
"SCHEMA",
"SEC_TO_TIME",
"SECOND",
"SESSION_USER",
"SHA1",
"SHA",
"SHA2",
"SIGN",
"SIN",
"SLEEP",
"SOUNDEX",
"SOURCE_POS_WAIT",
"SPACE",
"SQRT",
"SRID",
"ST_Area",
"ST_AsBinary",
"ST_AsWKB",
"ST_AsGeoJSON",
"ST_AsText",
"ST_AsWKT",
"ST_Buffer",
"ST_Buffer_Strategy",
"ST_Centroid",
"ST_Collect",
"ST_Contains",
"ST_ConvexHull",
"ST_Crosses",
"ST_Difference",
"ST_Dimension",
"ST_Disjoint",
"ST_Distance",
"ST_Distance_Sphere",
"ST_EndPoint",
"ST_Envelope",
"ST_Equals",
"ST_ExteriorRing",
"ST_FrechetDistance",
"ST_GeoHash",
"ST_GeomCollFromText",
"ST_GeometryCollectionFromText",
"ST_GeomCollFromTxt",
"ST_GeomCollFromWKB",
"ST_GeometryCollectionFromWKB",
"ST_GeometryN",
"ST_GeometryType",
"ST_GeomFromGeoJSON",
"ST_GeomFromText",
"ST_GeometryFromText",
"ST_GeomFromWKB",
"ST_GeometryFromWKB",
"ST_HausdorffDistance",
"ST_InteriorRingN",
"ST_Intersection",
"ST_Intersects",
"ST_IsClosed",
"ST_IsEmpty",
"ST_IsSimple",
"ST_IsValid",
"ST_LatFromGeoHash",
"ST_Length",
"ST_LineFromText",
"ST_LineStringFromText",
"ST_LineFromWKB",
"ST_LineStringFromWKB",
"ST_LineInterpolatePoint",
"ST_LineInterpolatePoints",
"ST_LongFromGeoHash",
"ST_Longitude",
"ST_MakeEnvelope",
"ST_MLineFromText",
"ST_MultiLineStringFromText",
"ST_MLineFromWKB",
"ST_MultiLineStringFromWKB",
"ST_MPointFromText",
"ST_MultiPointFromText",
"ST_MPointFromWKB",
"ST_MultiPointFromWKB",
"ST_MPolyFromText",
"ST_MultiPolygonFromText",
"ST_MPolyFromWKB",
"ST_MultiPolygonFromWKB",
"ST_NumGeometries",
"ST_NumInteriorRing",
"ST_NumInteriorRings",
"ST_NumPoints",
"ST_Overlaps",
"ST_PointAtDistance",
"ST_PointFromGeoHash",
"ST_PointFromText",
"ST_PointFromWKB",
"ST_PointN",
"ST_PolyFromText",
"ST_PolygonFromText",
"ST_PolyFromWKB",
"ST_PolygonFromWKB",
"ST_Simplify",
"ST_SRID",
"ST_StartPoint",
"ST_SwapXY",
"ST_SymDifference",
"ST_Touches",
"ST_Transform",
"ST_Union",
"ST_Validate",
"ST_Within",
"ST_X",
"ST_Y",
"StartPoint",
"STATEMENT_DIGEST",
"STATEMENT_DIGEST_TEXT",
"STD",
"STDDEV",
"STDDEV_POP",
"STDDEV_SAMP",
"STR_TO_DATE",
"STRCMP",
"SUBDATE",
"SUBSTR",
"SUBSTRING",
"SUBSTRING_INDEX",
"SUBTIME",
"SUM",
"SYSDATE",
"SYSTEM_USER",
"TAN",
"TIME",
"TIME_FORMAT",
"TIME_TO_SEC",
"TIMEDIFF",
"TIMESTAMP",
"TIMESTAMPADD",
"TIMESTAMPDIFF",
"TO_BASE64",
"TO_DAYS",
"TO_SECONDS",
"Touches",
"TRIM",
"TRUNCATE",
"UCASE",
"UNCOMPRESS",
"UNCOMPRESSED_LENGTH",
"UNHEX",
"UNIX_TIMESTAMP",
"UpdateXML",
"UPPER",
"USER",
"UTC_DATE",
"UTC_TIME",
"UTC_TIMESTAMP",
"UUID",
"UUID_SHORT",
"UUID_TO_BIN",
"VALIDATE_PASSWORD_STRENGTH",
"VALUES",
"VAR_POP",
"VAR_SAMP",
"VARIANCE",
"VERSION",
"WAIT_FOR_EXECUTED_GTID_SET",
"WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS",
"WEEK",
"WEEKDAY",
"WEEKOFYEAR",
"WEIGHT_STRING",
"Within",
"X",
"Y",
"YEAR",
"YEARWEEK"
],
builtinVariables: [
// NOT SUPPORTED
],
tokenizer: {
root: [
{ include: "@comments" },
{ include: "@whitespace" },
{ include: "@numbers" },
{ include: "@strings" },
{ include: "@complexIdentifiers" },
{ include: "@scopes" },
[/[;,.]/, "delimiter"],
[/[()]/, "@brackets"],
[
/[\w@]+/,
{
cases: {
"@operators": "operator",
"@builtinVariables": "predefined",
"@builtinFunctions": "predefined",
"@keywords": "keyword",
"@default": "identifier"
}
}
],
[/[<>=!%&+\-*/|~^]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
comments: [
[/--+.*/, "comment"],
[/#+.*/, "comment"],
[/\/\*/, { token: "comment.quote", next: "@comment" }]
],
comment: [
[/[^*/]+/, "comment"],
// Not supporting nested comments, as nested comments seem to not be standard?
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
[/\*\//, { token: "comment.quote", next: "@pop" }],
[/./, "comment"]
],
numbers: [
[/0[xX][0-9a-fA-F]*/, "number"],
[/[$][+-]*\d*(\.\d*)?/, "number"],
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
],
strings: [
[/'/, { token: "string", next: "@string" }],
[/"/, { token: "string.double", next: "@stringDouble" }]
],
string: [
[/\\'/, "string"],
[/[^']+/, "string"],
[/''/, "string"],
[/'/, { token: "string", next: "@pop" }]
],
stringDouble: [
[/[^"]+/, "string.double"],
[/""/, "string.double"],
[/"/, { token: "string.double", next: "@pop" }]
],
complexIdentifiers: [[/`/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
quotedIdentifier: [
[/[^`]+/, "identifier"],
[/``/, "identifier"],
[/`/, { token: "identifier.quote", next: "@pop" }]
],
scopes: [
// NOT SUPPORTED
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+15
View File
@@ -0,0 +1,15 @@
define("vs/nls.messages-loader", ["exports"], (function(exports) {
"use strict";
function load(name, req, load2, config) {
const requestedLanguage = config["vs/nls"]?.availableLanguages?.["*"];
if (!requestedLanguage || requestedLanguage === "en") {
load2({});
} else {
req([`vs/nls.messages.${requestedLanguage}`], () => {
load2({});
});
}
}
exports.load = load;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.cs.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_cs$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_cs;
function requireNls_messages_cs() {
if (hasRequiredNls_messages_cs) return nls_messages_cs$1;
hasRequiredNls_messages_cs = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "vstup", "Rozlišovat malá a velká písmena", "Pouze celá slova", "Použit regulární výraz", "vstup", "Zachovávat velikost písmen", "Zkontrolujte to v přístupném zobrazení pomocí {0}.", "Zkontrolujte to v přístupném zobrazení pomocí příkazu Otevřít přístupné zobrazení, které se v tuto chvíli nedá aktivovat klávesovou zkratkou.", "Chyba: {0}", "Upozornění: {0}", "Informace: {0}", " nebo {0} pro historii", " ({0} pro historii)", "Zadání se vymazalo", "Nesvázáno s klávesovou zkratkou", "Pole výběru", "Další akce...", "Zadejte hledaný text", "Zavřít", "Zadejte hledaný text", "Nenašly se žádné výsledky.", "Žádné výsledky", "Počet výsledků: {0}", "Pro filtrování zadejte text.", "Zadejte hledaný text", "Filtrovat", "Přibližná shoda", "(prázdné)", "{0}: {1}", "Došlo k systémové chybě. ({0})", "Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.", "Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.", "{0} (celkový počet chyb: {1})", "Došlo k neznámé chybě. Další podrobnosti naleznete v protokolu.", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Možnost", "Příkaz", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "Rozšíření", "Integrovaný terminál", "Chat", "Telemetrie", "Aktualizovat", "editor", "Editor není v tuto chvíli přístupný.", "{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, použijte {1}", "{0} Pokud chcete povolit režim optimalizovaný pro čtečku obrazovky, otevřete rychlý výběr pomocí {1} a spusťte příkaz Přepnout režim přístupnosti čtečky obrazovky, který se momentálně nedá aktivovat pomocí klávesnice.", "{0} Přiřaďte klávesovou zkratku k příkazu Přepnout režim přístupnosti čtečky obrazovky tak, že pomocí {1} otevřete editor klávesových zkratek a spustíte ji.", "editor", "Umístit na konec i u delších řádků", "Umístit na konec i u delších řádků", "Odebrané sekundární kurzory", "&&Zpět", "Zpět", "Zpět", "&&Znovu", "Znovu", "Znovu", "&&Vybrat vše", "Vybrat vše", "Vybrat vše", "Použití vykreslování založeného na modelu DOM", "Určuje, jestli jsou vložená dokončování v tuto chvíli odložená", "Vyberte dobu odložení pro návrhy v řádku", "Odložit vložené návrhy", "Zrušit odložení vložených návrhů", "Počet kurzorů byl omezen na {0}. Zvažte použití funkce [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pro větší změny nebo zvýšení nastavení limitu více kurzorů editoru.", "Zvýšit limit více kurzorů", "Přepnout sbalení nezměněných oblastí", "Přepnout zobrazení přesunutých bloků kódu", "Přepnout použití vloženého zobrazení, když je omezené místo", "Diff Editor", "Přepnout stranu", "Ukončit porovnání přesunutí", "Sbalit všechny nezměněné oblasti", "Zobrazit všechny nezměněné oblasti", "Obnovit", "Prohlížeč rozdílů s podporou přístupnosti", "Přejít na další rozdíl", "Přejít na předchozí rozdíl", "Ikona Vložit v prohlížeči rozdílů s podporou přístupnosti.", "Ikona Odebrat v prohlížeči rozdílů s podporou přístupnosti.", "Ikona Zavřít v prohlížeči rozdílů s podporou přístupnosti.", "Zavřít", "Přístupný prohlížeč rozdílů. K navigaci použijte šipku nahoru a dolů.", "Nezměnily se žádné řádky.", "Počet změněných řádků: 1", "Počet změněných řádků: {0}", "Rozdíl {0} z {1}: původní řádek {2}, {3}, změněný řádek {4}, {5}", "prázdné", "{0} nezměněný řádek {1}", "{0} původní řádek {1} změněný řádek {2}", "+ {0} změněný řádek {1}", "- {0} původní řádek {1}", " pomocí {0} otevřete nápovědu k přístupnosti.", "Kopírovat odstraněné řádky", "Kopírovat odstraněný řádek", "Kopírovat změněné řádky", "Kopírovat změněný řádek", "Kopírovat odstraněný řádek ({0})", "Kopírovat změněný řádek ({0})", "Obnovit tuto změnu", "Použít vložené zobrazení, když je omezené místo", "Zobrazit přesunuté bloky kódu", "Obnovit blok", "Obnovit výběr", "Otevřít prohlížeč rozdílů s podporou přístupnosti", "Sbalit nezměněnou oblast", "{0} skryté čáry", "Kliknutím nebo přetažením zobrazíte více nahoře.", "Zobrazit nezměněnou oblast", "Kliknutím nebo přetažením zobrazíte další položky níže", "{0} skryté čáry", "Poklikáním rozbalíte", "Kód se přesunul se změnami na řádek {0}–{1}", "Kód se přesunul se změnami z řádku {0}–{1}", "Kód se přesunul na řádek {0}–{1}", "Kód se přesunul z řádku {0}–{1}", "Vrátit vybrané změny", "Vrátit změnu", "Barva ohraničení textu přesunutého v editoru rozdílů.", "Barva aktivního ohraničení textu přesunutého v diff editoru.", "Barva stínu kolem widgLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "cs";
return nls_messages_cs$1;
}
var nls_messages_csExports = requireNls_messages_cs();
const nls_messages_cs = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_csExports);
return nls_messages_cs;
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.de.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_de$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_de;
function requireNls_messages_de() {
if (hasRequiredNls_messages_de) return nls_messages_de$1;
hasRequiredNls_messages_de = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "Eingabe", "Groß-/Kleinschreibung beachten", "Nur ganzes Wort suchen", "Regulären Ausdruck verwenden", "Eingabe", "Groß-/Kleinschreibung beibehalten", 'Überprüfen Sie dies in der barrierefreien Ansicht mit "{0}".', 'Überprüfen Sie dies in der barrierefreien Ansicht über den Befehl "Barrierefreie Ansicht öffnen", der zurzeit nicht über eine Tastenzuordnung ausgelöst werden kann.', "Fehler: {0}", "Warnung: {0}", "Info: {0}", " oder {0} für Verlauf", " ({0} für Verlauf)", "Gelöschte Eingabe", "Ungebunden", "Auswahlfeld", "Weitere Aktionen...", "Zum Suchen eingeben", "Schließen", "Zum Suchen eingeben", "Keine Ergebnisse gefunden.", "Keine Ergebnisse", "{0} Ergebnisse", "Zum Filtern Text eingeben", "Zum Suchen eingeben", "Filter", "Fuzzyübereinstimmung", "(leer)", "{0}: {1}", "Ein Systemfehler ist aufgetreten ({0}).", "Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.", "Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.", "{0} ({1} Fehler gesamt)", "Ein unbekannter Fehler ist aufgetreten. Weitere Details dazu finden Sie im Protokoll.", "STRG", "UMSCHALTTASTE", "ALT", "Windows", "STRG", "UMSCHALTTASTE", "ALT", "Super", "Steuern", "UMSCHALTTASTE", "Option", "Befehl", "Steuern", "UMSCHALTTASTE", "ALT", "Windows", "Steuern", "UMSCHALTTASTE", "ALT", "Super", "Erweiterungen", "Integriertes Terminal", "Chat", "Telemetrie", "Aktualisieren", "Editor", "Auf den Editor kann zurzeit nicht zugegriffen werden.", "{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, verwenden Sie {1}", "{0} Um den für die Sprachausgabe optimierten Modus zu aktivieren, öffnen Sie die Schnellauswahl mit {1}, und führen Sie den Befehl „Barrierefreiheitsmodus der Bildschirmsprachausgabe umschalten“ aus, der derzeit nicht über die Tastatur ausgelöst werden kann.", "{0} Weisen Sie eine Tastenzuordnung für den Befehl „Barrierefreiheitsmodus der Sprachausgabe umschalten“ zu, indem Sie mit auf den Editor für Tastenzuordnungen zugreifen {1} und ihn ausführen.", "Editor", "Auch bei längeren Zeilen am Ende bleiben", "Auch bei längeren Zeilen am Ende bleiben", "Sekundäre Cursor entfernt", "&&Rückgängig", "Rückgängig", "Rückgängig", "&&Wiederholen", "Wiederholen", "Wiederholen", "&&Alles auswählen", "Alle auswählen", "Alle auswählen", "Verwenden des DOM-basierten Renderings", "Gibt an, ob der Standbymodus von Inlinevervollständigungen derzeit aktiviert ist", "Dauer für das Erinnern bei Inlinevorschlägen auswählen", "Standbymodus von Inlinevorschlägen aktivieren", "Aktivierung des Standbymodus von Inlinevorschlägen abbrechen", "Die Anzahl der Cursor wurde auf {0} beschränkt. Erwägen Sie die Verwendung von [Suchen und Ersetzen](https://code.visualstudio.com/docs/editor/codebasics#_find-und-ersetzen) für größere Änderungen, oder erhöhen Sie die Multicursorbegrenzungseinstellung des Editors.", "Erhöhen des Grenzwerts für mehrere Cursor", '"Unveränderte Bereiche reduzieren" umschalten', '"Verschobene Codeblöcke anzeigen" umschalten', '"Bei eingeschränktem Speicherplatz Inlineansicht verwenden" umschalten', "Diff-Editor", "Seite wechseln", "Vergleichsmodus beenden", "Alle unveränderten Regionen reduzieren", "Alle unveränderten Regionen anzeigen", "Zurücksetzen", "Barrierefreier Diff-Viewer", "Zum nächsten Unterschied wechseln", "Zum vorherigen Unterschied wechseln", 'Symbol für "Einfügen" im barrierefreien Diff-Viewer.', 'Symbol für "Entfernen" im barrierefreien Diff-Viewer.', 'Symbol für "Schließen" im barrierefreien Diff-Viewer.', "Schließen", "Barrierefreier Diff-Viewer. Verwenden Sie den Pfeil nach oben und unten, um zu navigieren.", "keine geänderten Zeilen", "1 Zeile geändert", "{0} Zeilen geändert", "Unterschied {0} von {1}: ursprüngliche Zeile {2}, {3}, geänderte Zeile {4}, {5}", "leer", "{0}: unveränderte Zeile {1}", "{0} ursprüngliche Zeile {1} geänderte Zeile {2}", "+ {0} geänderte Zeile(n) {1}", "– {0} Originalzeile {1}", " verwenden Sie {0}, um die Hilfe zur Barrierefreiheit zu öffnen.", "Gelöschte Zeilen kopieren", "Gelöschte Zeile kopieren", "Geänderte Zeilen kopieren", "Geänderte Zeile kopieren", "Gelöschte Zeile kopieren ({0})", "Geänderte Zeile ({0}) kopieren", "Diese Änderung rückgängig machen", "Bei eingeschränktem Speicherplatz Inlineansicht verwenden", "Verschobene Codeblöcke anzeigen", "Block wiederherstellen", "Auswahl wiederherstellen", "Barrierefreien Diff-Viewer öffnen", "Unveränderten Bereich falten", "{0} ausgeblendete Linien", "Klicken oder ziehen Sie, um oben mehr anzuzeigen.", "Unveränderte Regionen anzeigen", "Klicken oder ziehen Sie, um unten mehr anzuzeigen.", "{0} ausgeblendete Linien", "Zum Auffalten doppelklicken", "Code mit Änderungen in Zeile {0}-{1} verschoben", "Code mit Änderungen aus Zeile {0}-{1} verschoben", "Code in Zeile {0}-{1} verschoben", "Code aus Zeile {0}-{1} verschoben", "ALine truncated
globalThis._VSCODE_NLS_LANGUAGE = "de";
return nls_messages_de$1;
}
var nls_messages_deExports = requireNls_messages_de();
const nls_messages_de = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_deExports);
return nls_messages_de;
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.es.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_es$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_es;
function requireNls_messages_es() {
if (hasRequiredNls_messages_es) return nls_messages_es$1;
hasRequiredNls_messages_es = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "entrada", "Coincidir mayúsculas y minúsculas", "Solo palabras completas", "Usar expresión regular", "entrada", "Conservar may/min", "Inspeccione esto en la vista accesible con {0}.", "Inspeccione esto en la vista accesible mediante el comando Abrir vista accesible, que actualmente no se puede desencadenar mediante el enlace de teclado.", "Error: {0}", "Advertencia: {0}", "Información: {0}", " o {0} para el historial", " ({0} para el historial)", "Entrada borrada", "Sin enlazar", "Seleccionar cuadro", "Más Acciones...", "Escriba texto para buscar", "Cerrar", "Escriba texto para buscar", "No se encontraron resultados.", "No hay resultados", "{0} resultados", "Escriba texto para filtrar", "Escriba texto para buscar", "Filtrar", "Coincidencia aproximada", "(vacío)", "{0}: {1}", "Error del sistema ({0})", "Se ha producido un error desconocido. Consulte el registro para obtener más detalles.", "Se ha producido un error desconocido. Consulte el registro para obtener más detalles.", "{0} ({1} errores en total)", "Se ha producido un error desconocido. Consulte el registro para obtener más detalles.", "Ctrl", "Mayús", "Alt", "Windows", "Ctrl", "Mayús", "Alt", "Super", "Control", "Mayús", "Opción", "Comando", "Control", "Mayús", "Alt", "Windows", "Control", "Mayús", "Alt", "Super", "Extensiones", "Terminal integrado", "Chat", "Telemetría", "Actualizar", "editor", "No se puede acceder al editor en este momento.", "{0} Para habilitar el modo optimizado para lectores de pantalla, use {1}", "{0} Para habilitar el modo optimizado para lector de pantalla, abra la selección rápida con {1} y ejecute el comando Alternar modo de accesibilidad del lector de pantalla, que actualmente no se puede desencadenar mediante el teclado.", "{0} Para asignar un enlace de teclado para el comando Alternar modo de accesibilidad del lector de pantalla, acceda al editor de enlaces de teclado con {1} y ejecútelo.", "editor", "Anclar al final incluso cuando se vayan a líneas más largas", "Anclar al final incluso cuando se vayan a líneas más largas", "Cursores secundarios quitados", "&&Deshacer", "Deshacer", "Deshacer", "&&Rehacer", "Rehacer", "Rehacer", "&&Seleccionar todo", "Seleccionar todo", "Seleccionar todo", "Uso de la representación basada en DOM", "Si las finalizaciones insertadas están pospuestas actualmente", "Seleccionar la duración de la pausa para las sugerencias insertadas", "Posponer sugerencias insertadas", "Cancelar posponer sugerencias insertadas", "El número de cursores se ha limitado a {0}. Considere la posibilidad de usar [buscar y reemplazar](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) para realizar cambios mayores o aumentar la configuración del límite de varios cursores del editor.", "Aumentar el límite de varios cursores", "Alternar contraer regiones sin cambios", "Alternar Mostrar bloques de código movidos", "Alternar el uso de la vista insertada cuando el espacio es limitado", "Editor de diferencias", "Lado del conmutador", "Salir de la comparación de movimientos", "Contraer todas las regiones sin cambios", "Mostrar todas las regiones sin cambios", "Revertir", "Visor de diferencias accesibles", "Ir a la siguiente diferencia", "Ir a la diferencia anterior", 'Icono de "Insertar" en el visor de diferencias accesible.', 'Icono de "Quitar" en el visor de diferencias accesible.', 'Icono de "Cerrar" en el visor de diferencias accesible.', "Cerrar", "Visor de diferencias accesible. Utilice la flecha hacia arriba y hacia abajo para navegar.", "no se han cambiado líneas", "1 línea cambiada", "{0} líneas cambiadas", "Diferencia {0} de {1}: línea original {2}, {3}, línea modificada {4}, {5}", "vacío", "{0} línea sin cambios {1}", "{0} línea original {1} línea modificada {2}", "+ {0} línea modificada {1}", "- {0} línea original {1}", " use {0} para abrir la ayuda de accesibilidad.", "Copiar líneas eliminadas", "Copiar línea eliminada", "Copiar líneas cambiadas", "Copiar línea cambiada", "Copiar la línea eliminada ({0})", "Copiar línea cambiada ({0})", "Revertir este cambio", "Uso de la vista insertada cuando el espacio es limitado", "Mostrar bloques de código movidos", "Revertir bloque", "Revertir selección", "Abrir visor de diferencias accesibles", "Plegar la región sin cambios", "{0} líneas ocultas", "Haga clic o arrastre para mostrar más arriba", "Mostrar región sin cambios", "Hacer clic o arrastrar para mostrar más abajo", "{0} líneas ocultas", "Doble clic para desplegar", "Código movido con cambios en la línea {0}-{1}", "Código movido con cambios de la línea {0}-{1}", "Código movido a la línea {0}-{1}", "Código movido de la línea {0}-{1}", "Revertir los cambios seleccionados", "Revertir el cambio", "Color del borde del texto que se movió en el editor de diferencias.", "Color del borde de texto activo que se movió en el editor de diferencias.", "Color de la sombra paralela en tornoLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "es";
return nls_messages_es$1;
}
var nls_messages_esExports = requireNls_messages_es();
const nls_messages_es = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_esExports);
return nls_messages_es;
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.fr.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_fr$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_fr;
function requireNls_messages_fr() {
if (hasRequiredNls_messages_fr) return nls_messages_fr$1;
hasRequiredNls_messages_fr = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "entrée", "Respecter la casse", "Mot entier", "Utiliser une expression régulière", "entrée", "Préserver la casse", "Inspectez ceci dans l’affichage accessible avec {0}.", "Inspectez ceci dans l’affichage accessible via la commande Open Accessible View qui ne peut pas être déclenchée via une combinaison de touches pour l’instant.", "Erreur : {0}", "Avertissement : {0}", "Info : {0}", " ou {0} pour l'histoire", " ({0} pour l'histoire)", "Entrée effacée", "Indépendant", "Zone de sélection", "Plus d'actions...", "Entrer le texte à rechercher", "Fermer", "Entrer le texte à rechercher", "Aucun résultat trouvé.", "Aucun résultat", "{0} résultats", "Type à filtrer", "Entrer le texte à rechercher", "Filtrer", "Correspondance approximative", "(vide)", "{0}: {1}", "Une erreur système s'est produite ({0})", "Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.", "Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.", "{0} ({1} erreurs au total)", "Une erreur inconnue s’est produite. Veuillez consulter le journal pour plus de détails.", "Ctrl", "Maj", "Alt", "Windows", "Ctrl", "Maj", "Alt", "Super", "Contrôle", "Maj", "Option", "Commande", "Contrôle", "Maj", "Alt", "Windows", "Contrôle", "Maj", "Alt", "Super", "Extensions", "Terminal intégré", "Conversation", "Télémétrie", "Mettre à jour", "éditeur", "L’éditeur n’est pas accessible pour le moment.", "{0} Pour activer le mode optimisé du lecteur d’écran, utilisez {1}", "{0} Pour activer le mode optimisé du lecteur d’écran, ouvrez la sélection rapide avec {1} et exécutez la commande Activer/Désactiver le mode d’accessibilité du lecteur d’écran, qui n’est pas déclenchable via le clavier pour le moment.", "{0} Attribuez une combinaison de touches à la commande Activer/Désactiver le mode d’accessibilité du lecteur d’écran en accédant à l’éditeur de combinaisons de touches avec {1} et exécutez-la.", "éditeur", "Aligner par rapport à la fin même en cas de passage à des lignes plus longues", "Aligner par rapport à la fin même en cas de passage à des lignes plus longues", "Curseurs secondaires supprimés", "Ann&&uler", "Annuler", "Annuler", "&&Rétablir", "Rétablir", "Rétablir", "&&Sélectionner tout", "Tout sélectionner", "Tout sélectionner", "Utiliser le rendu basé sur DOM", "Indique si les complétions en ligne sont actuellement répétées", "Sélectionnez la durée de mise en veille pour les suggestions en ligne", "Répétition des suggestions inline", "Annuler la répétition des suggestions inline", "Le nombre de curseurs a été limité à {0}. Envisagez d’utiliser [rechercher et remplacer](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) pour les modifications plus importantes ou augmentez la limite du nombre de curseurs multiples du paramètre.", "Augmenter la limite de curseurs multiples", "Activer/désactiver réduire les régions inchangées", "Activer/désactiver l’affichage des blocs de code déplacés", "Activer/désactiver Utiliser la vue inline lorsque l'espace est limité", "Éditeur de différences", "Changer de côté", "Quitter Comparer le déplacement", "Réduire toutes les régions inchangées", "Afficher toutes les régions inchangées", "Restaurer", "Visionneuse Diff accessible", "Accéder à la différence suivante", "Accéder la différence précédente", "Icône « Insérer » dans la visionneuse diff accessible.", "Icône « Supprimer » dans la visionneuse diff accessible.", "Icône de « Fermer » dans la visionneuse diff accessible.", "Fermer", "Visionneuse diff accessible. Utilisez les flèches haut et bas pour naviguer.", "aucune ligne changée", "1 ligne changée", "{0} lignes changées", "Différence {0} sur {1} : ligne d'origine {2}, {3}, ligne modifiée {4}, {5}", "vide", "{0} ligne inchangée {1}", "{0} ligne d'origine {1} ligne modifiée {2}", "+ {0} ligne modifiée {1}", "- {0} ligne d'origine {1}", " utilisez {0} pour ouvrir l’aide sur l’accessibilité.", "Copier les lignes supprimées", "Copier la ligne supprimée", "Copier les lignes modifiées", "Copier la ligne modifiée", "Copier la ligne supprimée ({0})", "Copier la ligne modifiée ({0})", "Annuler la modification", "Utiliser la vue inline lorsque l'espace est limité", "Afficher les blocs de code déplacés", "Rétablir le bloc", "Rétablir la sélection", "Ouvrir la visionneuse diff accessible", "Replier la région inchangée", "{0} lignes masquées", "Cliquez ou faites glisser pour afficher plus d'éléments au-dessus", "Afficher la région inchangée", "Cliquez ou faites glisser pour afficher plus d'éléments en dessous", "{0} lignes masquées", "Double-cliquer pour déplier", "Code déplacé avec des modifications vers la ligne {0}-{1}", "Code déplacé avec des modifications à partir de la ligne {0}-{1}", "Code dLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "fr";
return nls_messages_fr$1;
}
var nls_messages_frExports = requireNls_messages_fr();
const nls_messages_fr = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_frExports);
return nls_messages_fr;
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.it.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_it$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_it;
function requireNls_messages_it() {
if (hasRequiredNls_messages_it) return nls_messages_it$1;
hasRequiredNls_messages_it = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "input", "Maiuscole/minuscole", "Parola intera", "Usa espressione regolare", "input", "Mantieni maiuscole/minuscole", "Ispezionarlo nella visualizzazione accessibile con {0}.", "Ispezionarlo nella visualizzazione accessibile tramite il comando Apri visualizzazione accessibile che attualmente non è attivabile tramite il tasto di scelta rapida.", "Errore: {0}", "Avviso: {0}", "Info: {0}", " o {0} per la cronologia", " ({0} per la cronologia)", "Input cancellato", "Non associato", "Casella di selezione", "Altre azioni...", "Digitare per la ricerca", "Chiudi", "Digitare per la ricerca", "Non sono stati trovati risultati.", "Nessun risultato", "{0} risultati", "Digitare per filtrare", "Digitare per la ricerca", "Filtro", "Corrispondenza fuzzy", "(vuoto)", "{0}: {1}", "Si è verificato un errore di sistema ({0})", "Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.", "Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.", "{0} ({1} errori in totale)", "Si è verificato un errore sconosciuto. Per altri dettagli, vedere il log.", "CTRL", "MAIUSC", "ALT", "Windows", "CTRL", "MAIUSC", "ALT", "Super", "CTRL", "MAIUSC", "Opzione", "Comando", "CTRL", "MAIUSC", "ALT", "Windows", "CTRL", "MAIUSC", "ALT", "Super", "Estensioni", "Terminale integrato", "Chat", "Telemetria", "Aggiorna", "editor", "L'editor non è accessibile in questo momento.", "{0} Per abilitare la modalità ottimizzata per l'utilità per la lettura dello schermo usare {1}", "{0} Per abilitare la modalità ottimizzata per l'utilità per la lettura dello schermo, aprire la selezione rapida con {1} ed eseguire il comando Attiva/Disattiva modalità di accessibilità dell'utilità per la lettura dello schermo, attualmente non attivabile tramite tastiera.", "{0} Assegnare un tasto di scelta rapida per il comando Attiva/Disattiva modalità di accessibilità dell'utilità per la lettura dello schermo accedendo all'editor dei tasti di scelta rapida con {1} ed eseguirlo.", "editor", "Si attiene alla fine anche quando si passa a righe più lunghe", "Si attiene alla fine anche quando si passa a righe più lunghe", "Cursori secondari rimossi", "&&Annulla", "Annulla azione", "Annulla azione", "&&Ripeti", "Ripeti", "Ripeti", "&&Seleziona tutto", "Seleziona tutto", "Seleziona tutto", "Usa rendering basato su DOM", "Indica se i completamenti inline sono rinviati", "Selezionare la durata della sospensione per i suggerimenti inline", "Rinvia suggerimenti inline", "Annulla il rinvio dei suggerimenti inline", "Il numero di cursori è stato limitato a {0}. Provare a usare [Trova e sostituisci](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) per modifiche di dimensioni maggiori o aumentare l'impostazione del limite di più cursori dell'editor.", "Aumentare limite multi-cursore", "Attiva/Disattiva comprimi aree non modificate", "Attiva/Disattiva mostra blocchi di codice spostati", "Attiva/disattiva la visualizzazione inline quando lo spazio è limitato", "Editor diff", "Interruttore laterale", "Esci da Sposta confronto", "Comprimi tutte le aree non modificate", "Mostra tutte le aree non modificate", "Ripristina", "Visualizzatore differenze accessibile", "Vai alla differenza successiva", "Vai alla differenza precedente", 'Icona per "Inserisci" nel visualizzatore differenze accessibile.', 'Icona per "Rimuovi" nel visualizzatore differenze accessibile.', 'Icona per "Chiudi" nel visualizzatore differenze accessibile.', "Chiudi", "Visualizzatore differenze accessibile. Usare le frecce SU e GIÙ per spostarsi.", "nessuna riga modificata", "1 riga modificata", "{0} righe modificate", "Differenza {0} di {1}: riga originale {2}, {3}, riga modificata {4}, {5}", "vuota", "{0} riga non modificata {1}", "{0} riga originale {1} riga modificata {2}", "+ {0} riga modificata {1}", "- {0} riga originale {1}", " utilizzare {0} per aprire la Guida all'accessibilità.", "Copia le righe eliminate", "Copia la riga eliminata", "Copia righe modificate", "Copia riga modificata", "Copia la riga eliminata ({0})", "Copia riga modificata ({0})", "Ripristina questa modifica", "Usa la visualizzazione inline quando lo spazio è limitato", "Mostra blocchi di codice spostati", "Ripristina blocco", "Ripristina selezione", "Apri Visualizzatore differenze accessibile", "Ridurre area non modificata", "{0} righe nascoste", "Fai clic o trascina per visualizzare altri elementi sopra", "Mostra area non modificata", "Fai clic o trascina per visualizzare altri elementi sotto", "{0} righe nascoste", "Fare doppio clic per espandere", "Codice spostato con modifiche alla riga {0}-{1}", "Codice spostato con modifiche dalla riga {0}-{1}", "Codice spostato alla riga {0}-{1}", "Codice spostato dalla riga {0}-{1}", "Ripristina modifiche selezionate", "Annulla modifica", "Colore del bordo per il testo spostato nell'editor diff.", "Colore del bordo attivo per il testo spostato nell'editor diff.", "Colore dell'ombLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "it";
return nls_messages_it$1;
}
var nls_messages_itExports = requireNls_messages_it();
const nls_messages_it = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_itExports);
return nls_messages_it;
}));
+11
View File
@@ -0,0 +1,11 @@
define("vs/nls.messages.ja.js", (function() {
"use strict";
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "入力", "大文字と小文字を区別する", "単語単位で検索する", "正規表現を使用する", "入力", "保持する", "{0} を使用して、ユーザー補助対応のビューでこれを検査します。", "キー バインドを介して現在トリガーできない [ユーザー補助対応のビューを開く] コマンドを使用して、ユーザー補助対応のビューでこれを検査します。", "エラー: {0}", "警告: {0}", "情報: {0}", " または履歴の {0}", " (履歴の {0})", "クリアされた入力", "バインドなし", "ボックスを選択", "その他の操作...", "入力して検索", "閉じる", "入力して検索", "結果が見つかりません。", "結果はありません", "{0} 件の結果", "入力してフィルター", "入力して検索", "フィルター", "あいまい一致", "(空)", "{0}: {1}", "システム エラーが発生しました ({0})", "不明なエラーが発生しました。ログで詳細を確認してください。", "不明なエラーが発生しました。ログで詳細を確認してください。", "{0} (合計 {1} エラー)", "不明なエラーが発生しました。ログで詳細を確認してください。", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "オプション", "コマンド", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "拡張機能", "統合ターミナル", "チャット", "テレメトリ", "更新", "エディター", "この時点では、エディターにアクセスできません。", "{0} スクリーン リーダー最適化モードを有効にするには、{1} を使用します", "{0} スクリーン リーダー最適化モードを有効にするには、{1} でクイック ピックを開き、[スクリーン リーダー アクセシビリティ モードの切り替え] コマンドを実行します。これは現在キーボードからトリガーできません。", "{0} {1} でキーバインド エディターにアクセスし、スクリーン リーダー アクセシビリティ モードの切り替えコマンドにキーバインドを割り当てて実行してください。", "エディター", "長い行に移動しても行末に位置します", "長い行に移動しても行末に位置します", "セカンダリ カーソルが削除されました", "元に戻す(&&U)", "元に戻す", "元に戻す", "やり直し(&&R)", "やり直し", "やり直し", "すべて選択(&&S)", "すべてを選択", "すべてを選択", "DOM ベースのレンダリングを使用する", "インライン補完が現在一時停止されているかどうか", "インライン候補のスヌーズ期間を選択してください", "インライン提案の再通知", "インライン提案の再通知をキャンセル", "カーソルの数は {0} に制限されています。大きな変更を行う場合は、[検索と置換](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) を使用することを検討してください。", "マルチ カーソルの上限を増やす", "変更されていない領域の折りたたみの切り替え", "移動したコード ブロックの表示の切り替え", "スペースが制限されている場合に [インライン ビューの使用] を切り替える", "差分エディター", "サイドの切り替え", "比較移動の終了", "変更されていないすべてのリージョンを折りたたむ", "変更されていないすべてのリージョンを表示する", "元に戻す", "アクセシビリティの高い差分ビューアー", "次の差分に移動", "前の差分に移動", "アクセシビリティの高い差分ビューアーの [挿入] のアイコン。", "アクセシビリティの高い差分ビューアーの [削除] のアイコン。", "アクセシビリティの高い差分ビューアーの [閉じる] のアイコン。", "閉じる", "アクセス可能な Diff Viewer。上下方向キーを使用して移動します。", "変更された行はありません", "1 行が変更されました", "{0} 行が変更されました", "相違 {0}/{1}: 元の行 {2}、{3}。変更された行 {4}、{5}", "空白", "{0} 変更されていない行 {1}", "{0} 元の行 {1} 変更された行 {2}", "+ {0} 変更された行 {1}", "- {0} 元の行 {1}", " {0}を使用して、アクセシビリティのヘルプを開きます。", "削除された行のコピー", "削除された行のコピー", "変更された行のコピー", "変更された行のコピー", "削除された行のコピー ({0})", "変更された行のコピー ({0})", "この変更を元に戻す", "スペースが制限されている場合はインライン ビューを使用する", "移動されたコード ブロックの表示", "ブロックをLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "ja";
}));
+14
View File
@@ -0,0 +1,14 @@
define("vs/nls.messages.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages$1 = {};
var hasRequiredNls_messages;
function requireNls_messages() {
if (hasRequiredNls_messages) return nls_messages$1;
hasRequiredNls_messages = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "input", "Match Case", "Match Whole Word", "Use Regular Expression", "input", "Preserve Case", "Inspect this in the accessible view with {0}.", "Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.", "Error: {0}", "Warning: {0}", "Info: {0}", " or {0} for history", " ({0} for history)", "Cleared Input", "Unbound", "Select Box", "More Actions...", "Type to search", "Close", "Type to search", "No results found.", "No results", "{0} results", "Type to filter", "Type to search", "Filter", "Fuzzy Match", "(empty)", "{0}: {1}", "A system error occurred ({0})", "An unknown error occurred. Please consult the log for more details.", "An unknown error occurred. Please consult the log for more details.", "{0} ({1} errors in total)", "An unknown error occurred. Please consult the log for more details.", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Option", "Command", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "Extensions", "Integrated Terminal", "Chat", "Telemetry", "Update", "editor", "The editor is not accessible at this time.", "{0} To enable screen reader optimized mode, use {1}", "{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.", "{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.", "editor", "Stick to the end even when going to longer lines", "Stick to the end even when going to longer lines", "Removed secondary cursors", "&&Undo", "Undo", "Undo", "&&Redo", "Redo", "Redo", "&&Select All", "Select All", "Select All", "Use DOM-based rendering", "Whether inline completions are currently snoozed", "Select snooze duration for Inline Suggestions", "Snooze Inline Suggestions", "Cancel Snooze Inline Suggestions", "The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.", "Increase Multi Cursor Limit", "Toggle Collapse Unchanged Regions", "Toggle Show Moved Code Blocks", "Toggle Use Inline View When Space Is Limited", "Diff Editor", "Switch Side", "Exit Compare Move", "Collapse All Unchanged Regions", "Show All Unchanged Regions", "Revert", "Accessible Diff Viewer", "Go to Next Difference", "Go to Previous Difference", "Icon for 'Insert' in accessible diff viewer.", "Icon for 'Remove' in accessible diff viewer.", "Icon for 'Close' in accessible diff viewer.", "Close", "Accessible Diff Viewer. Use arrow up and down to navigate.", "no lines changed", "1 line changed", "{0} lines changed", "Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}", "blank", "{0} unchanged line {1}", "{0} original line {1} modified line {2}", "+ {0} modified line {1}", "- {0} original line {1}", " use {0} to open the accessibility help.", "Copy deleted lines", "Copy deleted line", "Copy changed lines", "Copy changed line", "Copy deleted line ({0})", "Copy changed line ({0})", "Revert this change", "Use Inline View When Space Is Limited", "Show Moved Code Blocks", "Revert Block", "Revert Selection", "Open Accessible Diff Viewer", "Fold Unchanged Region", "{0} hidden lines", "Click or drag to show more above", "Show Unchanged Region", "Click or drag to show more below", "{0} hidden lines", "Double click to unfold", "Code moved with changes to line {0}-{1}", "Code moved with changes from line {0}-{1}", "Code moved to line {0}-{1}", "Code moved from line {0}-{1}", "Revert Selected Changes", "Revert Change", "The border color for text that got moved in the diff editor.", "The active border color for text that got moved in the diff editor.", "The color of the shadow around unchanged region widgets.", "Line decoration for inserts in the diff editor.", "Line decoration for removals in the diff editor.", "The background color of the diff editor's header", "The background color of the multi file diff editor", "The border color of the multi file diff editor", "Loading...", "No Changed Files", "Editor", "The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.", 'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.', "Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.", "Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.", "Remove trailing auto inserted whitespace.", "Special handling for large files to disable certain memory intensive features.", "Turn off Line truncated
return nls_messages$1;
}
var nls_messagesExports = requireNls_messages();
const nls_messages = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messagesExports);
return nls_messages;
}));
+11
View File
@@ -0,0 +1,11 @@
define("vs/nls.messages.ko.js", (function() {
"use strict";
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES = ["{0}({1})", "입력", "대/소문자 구분", "단어 단위로", "정규식 사용", "입력", "대/소문자 보존", "{0}을(를) 사용하여 접근성 보기에서 이를 검사합니다.", "현재 키 바인딩을 통해 트리거할 수 없는 접근성 보기 열기 명령을 통해 접근성 보기에서 이를 검사합니다.", "오류: {0}", "경고: {0}", "정보: {0}", " 또는 {0} 기록의 경우", " ({0} 기록용)", "입력이 지워짐", "바인딩 안 됨", "Box 선택", "기타 작업...", "입력하여 검색", "닫기", "입력하여 검색", "결과를 찾을 수 없습니다.", "결과 없음", "{0}개 결과", "필터링할 형식", "입력하여 검색", "필터", "유사 항목 일치", "(비어 있음)", "{0}: {1}", "시스템 오류가 발생했습니다({0}).", "알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.", "알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.", "{0}(총 {1}개의 오류)", "알 수 없는 오류가 발생했습니다. 자세한 내용은 로그를 참조하세요.", "Ctrl", "Shift", "<Alt>", "Windows", "Ctrl", "Shift", "<Alt>", "슈퍼", "Ctrl", "Shift", "옵션", "명령", "Ctrl", "Shift", "<Alt>", "Windows", "Ctrl", "Shift", "<Alt>", "슈퍼", "확장", "통합 터미널", "채팅", "원격 분석", "업데이트", "편집기", "현재 편집기에 액세스할 수 없습니다.", "{0} 화면 읽기 프로그램 최적화 모드를 사용하도록 설정하려면 {1}을(를) 사용합니다.", "{0} 화면 읽기 프로그램 최적화 모드를 사용하도록 설정하려면 {1}을(를) 사용하여 빠른 선택을 열고 화면 읽기 프로그램 접근성 모드 토글 명령을 실행합니다(이 명령은 현재 키보드를 통해 트리거할 수 없음).", "{0} {1}을(를) 사용하여 키 바인딩 편집기에 액세스하여 화면 읽기 프로그램 접근성 모드 토글 명령에 대한 키 바인딩을 할당하고 실행하세요.", "편집기", "더 긴 줄로 이동하는 경우에도 끝에 고정", "더 긴 줄로 이동하는 경우에도 끝에 고정", "보조 커서가 제거됨", "실행 취소(&&U)", "실행 취소", "실행 취소", "다시 실행(&&R)", "다시 실행", "다시 실행", "모두 선택(&&S)", "모두 선택", "모두 선택", "DOM 기반 렌더링 사용", "인라인 완성이 현재 다시 알림 상태인지 여부", "인라인 제안의 다시 알림 기간 선택", "인라인 제안 다시 알림", "인라인 제안 다시 알림 취소", "커서 수를 {0}개로 제한했습니다. 더 큰 변경 내용을 위해서는 [찾아서 교체](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)를 사용하거나 편집기 다중 커서 제한 설정을 늘리는 것이 좋습니다.", "다중 커서 제한 늘리기", "변경되지 않은 영역 축소 토글", "이동된 코드 블록 표시 토글", "공간이 제한된 경우 인라인 보기 사용 설정/해제", "diff 편집기", "스위치 쪽", "비교 이동 종료", "변경되지 않은 모든 영역 축소", "변경되지 않은 모든 영역 표시", "되돌리기", "액세스 가능한 Diff 뷰어", "다음 다른 항목으로 이동", "다음 다른 항목으로 이동", "액세스 가능한 Diff 뷰어의 '삽입' 아이콘.", "액세스 가능한 Diff 뷰어의 '제거' 아이콘.", "접근 가능한 Diff 뷰어의 '닫기' 아이콘.", "닫기", "액세스 가능한 Diff 뷰어입니다. 탐색하려면 위쪽 및 아래쪽 화살표를 사용합니다.", "변경된 줄 없음", "선 1개 변경됨", "줄 {0}개 변경됨", "차이 {0}/{1}: 원래 줄 {2}, {3}, 수정된 줄 {4}, {5}", "비어 있음", "{0} 변경되지 않은 줄 {1}", "{0} 원래 줄 {1} 수정된 줄 {2}", "+ {0} 수정된 줄 {1}", "- {0} 원래 줄 {1}", " {0}을(를) 사용하여 접근성 도움말을 엽니다.", "삭제된 줄 복사", "삭제된 줄 복사", "변경된 줄 복사", "변경된 줄 복사", "삭제된 줄 복사({0})", "변경된 줄({0}) 복사", "이 변경 내용 되돌리기", "공간이 제한된 경우 인라인 보기 사용", "이동된 코드 블록 표시", "블록 되돌리기", "선택 항목 되돌리기", "액세스 가능한 Diff 뷰어 열기", "변경되지 않은 영역 접기", "숨겨진 선 {0}개", "위에 자세히 표시하려면 클릭하거나 끌어다 놓기", "변경되지 않은 영역 표시", "아래에 자세히 표시하려면 클릭하거나 끌어다 놓기", "숨겨진 선 {0}개", "두 번 클릭하여 펼치기", "변경 사항과 함께 코드가 {0} - {1}줄로 이동됨", "변경 사항과 함께 코드가 {0} - {1}줄에서 이동됨", "코드가 {0} - {1}줄로 이동됨", "코드가 {0} - {1}줄에서 이동됨", "선택한 변경 내용 되돌리기", "변경 내용 되돌리기", "diff 편집기에서 이동된 텍스트의 테두리 색입니다.", "diff 편집Line truncated
globalThis._VSCODE_NLS_LANGUAGE = "ko";
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.pl.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_pl$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_pl;
function requireNls_messages_pl() {
if (hasRequiredNls_messages_pl) return nls_messages_pl$1;
hasRequiredNls_messages_pl = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "wejście", "Uwzględnij wielkość liter", "Uwzględnij całe wyrazy", "Użyj wyrażenia regularnego", "wejście", "Zachowaj wielkość liter", "Dokonaj inspekcji w widoku z ułatwieniami dostępu za pomocą {0}", "Dokonaj inspekcji w widoku z ułatwieniami dostępu za pomocą polecenia Otwórz widok z ułatwieniami dostępu, którego obecnie nie można wyzwalać za pośrednictwem powiązania klawiszy.", "Błąd: {0}", "Ostrzeżenie: {0}", "Informacje: {0}", " lub {0}, aby wyświetlić historię", " ({0} — wyświetlenie historii)", "Wyczyszczone dane wejściowe", "Niepowiązany", "Pole opcji", "Więcej akcji...", "Wpisz, aby wyszukać", "Zamknij", "Wpisz, aby wyszukać", "Nie znaleziono żadnych wyników.", "Brak wyników", "Wyniki: {0}", "Wpisz, aby filtrować", "Wpisz, aby wyszukać", "Filtr", "Dopasowanie rozmyte", "(puste)", "{0}: {1}", "Wystąpił błąd systemu ({0})", "Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.", "Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.", "{0} (łączna liczba błędów: {1})", "Wystąpił nieznany błąd. Sprawdź dziennik, aby uzyskać więcej szczegółów.", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Opcja", "Polecenie", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "Rozszerzenia", "Zintegrowany terminal", "Czat", "Telemetria", "Aktualizuj", "edytor", "Edytor nie jest w tej chwili dostępny.", "{0} Aby włączyć tryb zoptymalizowany czytnika zawartości ekranu, użyj {1}", "{0} Aby włączyć tryb zoptymalizowany czytnika zawartości ekranu, otwórz szybkie wybieranie za pomocą {1} i uruchom polecenie Przełącz tryb ułatwień dostępu czytnika zawartości ekranu, którego obecnie nie można wyzwalać za pomocą klawiatury.", "{0} Przypisz powiązanie klawiszy dla polecenia Przełącz tryb ułatwień dostępu czytnika zawartości ekranu, uzyskując dostęp do edytora powiązań klawiszy za pomocą {1} i uruchom go.", "edytor", "Trzymaj się końca nawet podczas przechodzenia do dłuższych wierszy", "Trzymaj się końca nawet podczas przechodzenia do dłuższych wierszy", "Usunięto pomocnicze kursory", "&&Cofnij", "Cofnij", "Cofnij", "&&Ponów", "Ponów", "Ponów", "&&Wybierz wszystko", "Wybierz wszystko", "Wybierz wszystko", "Użyj renderowania opartego na modelu DOM", "Określa, czy uzupełnienia wbudowane są obecnie odłożone", "Wybierz czas trwania odkładania dla sugestii śródwierszowych", "Odłóż wbudowane sugestie", "Anuluj odkładanie wbudowanych sugestii", "Liczba kursorów została ograniczona do {0}. Rozważ użycie funkcji [wyszukaj i zamień](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) w celu wprowadzenia większych zmian lub zwiększenia ustawienia limitu wielu kursorów edytora.", "Zwiększ limit wielu kursorów", "Przełącz Zwiń niezmienione regiony", "Przełącz pokazywanie przeniesionych bloków kodu", "Przełącz użycie widoku wbudowanego, gdy spacja jest ograniczona", "Edytor różnic", "Przełącz stronę", "Zakończ porównywanie przenoszenia", "Zwiń wszystkie niezmienione regiony", "Pokaż wszystkie niezmienione regiony", "Przywróć", "Podgląd różnic z ułatwieniami dostępu", "Przejdź do następnej różnicy", "Przejdź do poprzedniej różnicy", "Ikona „Wstaw” w przeglądarce różnic z ułatwieniami dostępu.", "Ikona „Usuń” w przeglądarce różnic z ułatwieniami dostępu.", "Ikona „Zamknij” w przeglądarce różnic z ułatwieniami dostępu.", "Zamknij", "Podgląd różnic dotyczących ułatwień dostępu. Użyj strzałki w górę i w dół, aby nawigować.", "brak zmienionych wierszy", "1 wiersz zmieniony", "zmienione wiersze: {0}", "Różnica {0} z {1}: oryginalny wiersz {2}, {3}, zmodyfikowany wiersz {4}, {5}", "puste", "{0} niezmieniony wiersz {1}", "{0} oryginalny wiersz {1} zmodyfikowany wiersz {2}", "+ {0} zmodyfikowany wiersz {1}", "— {0} oryginalny wiersz {1}", " użyj {0} do otwierania pomocy dotyczącej ułatwień dostępu.", "Kopiuj usunięte wiersze", "Kopiuj usunięty wiersz", "Kopiuj zmienione wiersze", "Kopiuj zmieniony wiersz", "Kopiuj usunięty wiersz ({0})", "Kopiuj zmieniony wiersz ({0})", "Odwróć tę zmianę", "Użyj widoku wbudowanego, gdy spacja jest ograniczona", "Pokaż przeniesione bloki kodu", "Przywróć blok", "Przywróć zaznaczenie", "Otwórz podgląd różnic z ułatwieniami dostępu", "Zwiń obszar bez zmian", "Liczba ukrytych wierszy: {0}", "Kliknij lub przeciągnij, aby pokazać więcej powyżej", "Pokaż niezmieniony region", "Kliknij lub przeciągnij, aby pokazać więcej pniżej", "Liczba ukrytych wierszy: {0}", "Kliknij dwukrotnie, aby rozwinąć", "Kod został przeniesiony ze zmianami do wiersza {0}-{1}", "Kod został przeniesiony ze zmianami z wiersza {0}-{1}", "Kod został przeniesiony do wiersza {0}-{1}", "Kod przeniesiony z wiersza {0}-{Line truncated
globalThis._VSCODE_NLS_LANGUAGE = "pl";
return nls_messages_pl$1;
}
var nls_messages_plExports = requireNls_messages_pl();
const nls_messages_pl = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_plExports);
return nls_messages_pl;
}));
+11
View File
@@ -0,0 +1,11 @@
define("vs/nls.messages.pt-br.js", (function() {
"use strict";
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES = [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, Line truncated
globalThis._VSCODE_NLS_LANGUAGE = "pt-br";
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.ru.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_ru$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_ru;
function requireNls_messages_ru() {
if (hasRequiredNls_messages_ru) return nls_messages_ru$1;
hasRequiredNls_messages_ru = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "входные данные", "С учетом регистра", "Слово целиком", "Использовать регулярное выражение", "входные данные", "Сохранить регистр", "Проверьте этот аспект в доступном представлении с помощью {0}.", 'Проверьте этот аспект в представлении с поддержкой специальных возможностей с помощью команды "Открыть представление с поддержкой специальных возможностей", которую в настоящее время нельзя активировать с помощью настраиваемого сочетания клавиш.', "Ошибка: {0}", "Предупреждение: {0}", "Информация: {0}", " или {0} для журнала", " ({0} для журнала)", "Очищенные входные данные", "свободный", "Поле выбора", "Дополнительные действия...", "Ввод для поиска", "Закрыть", "Ввод для поиска", "Результаты не найдены.", "Нет результатов", "Результатов: {0}", "Введите текст для фильтра", "Ввод для поиска", "Фильтр", "Нечеткое совпадение", "(пусто)", "{0}: {1}", "Произошла системная ошибка ({0})", "Произошла неизвестная ошибка. Подробные сведения см. в журнале.", "Произошла неизвестная ошибка. Подробные сведения см. в журнале.", "{0} (всего ошибок: {1})", "Произошла неизвестная ошибка. Подробные сведения см. в журнале.", "CTRL", "SHIFT", "ALT", "Windows", "CTRL", "SHIFT", "ALT", "Super", "CTRL", "SHIFT", "Параметр", "Команда", "CTRL", "SHIFT", "ALT", "Windows", "CTRL", "SHIFT", "ALT", "Super", "Расширения", "Встроенный терминал", "Чат", "Телеметрия", "Обновить", "редактор", "Сейчас редактор недоступен.", "{0} Чтобы включить оптимизированный режим читателя, используйте {1}", '{0} Чтобы включить оптимизированный режим читателя, откройте быстрый выбор с помощью {1} и выполните команду "Активация режима специальных возможностей для читателя", который сейчас не может быть активирован с помощью клавиатуры.', '{0} Назначьте сочетание клавиш для команды "Активация режима специальных возможностей для читателя", используя редактор настраиваемых сочетаний клавиш с помощью {1} и запустите его.', "редактор", "Размещать на конце даже для более длинных строк", "Размещать на конце даже для более длинных строк", "Дополнительные курсоры удалены.", "&&Отменить", "Отменить", "Отменить", "&&Повторить", "Вернуть", "Вернуть", "&&Выделить все", "Выбрать все", "Выбрать все", "Использование отрисовки на основе DOM", "Отложены ли в настоящее время встроенные завершения", "Выберите длительность откладывания для встроенных предложений", "Отложить встроенные предложения", "Отменить откладывание встроенных предложений", "Число курсоров ограничено {0}. Для проведения крупных изменений рекомендуется использовать [поиск и замену](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) или увеличить значение параметра ограничения нескольких курсоров в редакторе.", "Увеличить значение ограничения нескольких курсоров", "Переключатель свертывания неизмененных регионов", "Показать или скрыть перемещенные блоки кода", 'Переключатель "Использовать встроенное представление при ограниченном проLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "ru";
return nls_messages_ru$1;
}
var nls_messages_ruExports = requireNls_messages_ru();
const nls_messages_ru = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_ruExports);
return nls_messages_ru;
}));
+21
View File
@@ -0,0 +1,21 @@
define("vs/nls.messages.tr.js", ["./_commonjsHelpers-98qg88fe"], (function(_commonjsHelpers) {
"use strict";
var nls_messages_tr$1 = {};
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
var hasRequiredNls_messages_tr;
function requireNls_messages_tr() {
if (hasRequiredNls_messages_tr) return nls_messages_tr$1;
hasRequiredNls_messages_tr = 1;
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "giriş", "Büyük/Küçük Harf Eşleştir", "Sözcüğün Tamamını Eşleştir", "Normal İfade Kullan", "giriş", "Büyük/Küçük Harfi Koru", "Bunu {0} ile erişilebilir görünümde inceleyin.", "Şu anda tuş bağlama ile tetiklenemeyen Erişilebilir Görünümü Aç komutu aracılığıyla bu öğeyi erişilebilir görünümde inceleyin.", "Hata: {0}", "Uyarı: {0}", "Bilgi: {0}", " veya geçmiş için {0}", " (geçmiş için {0})", "Temizlenen Giriş", "Sınırsız", "Kutu Seç", "Diğer Eylemler...", "Aramak için yazın", "Kapat", "Aramak için yazın", "Hiçbir sonuç bulunamadı.", "Sonuç yok", "{0} sonuç", "Filtrelemek için yazın", "Aramak için yazın", "Filtre", "Benzer Öğe Eşleşmesi", "(boş)", "{0}: {1}", "Sistem hatası oluştu ({0})", "Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.", "Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.", "{0} (toplam {1} hata)", "Beklenmeyen bir hata oluştu. Daha fazla ayrıntı için lütfen günlüğe bakın.", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Seçenek", "Command", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "Uzantılar", "Tümleşik Terminal", "Sohbet", "Telemetri", "Güncelleştir", "düzenleyici", "Düzenleyiciye şu anda erişilemiyor.", "{0} Ekran okuyucu için iyileştirilmiş modu etkinleştirmek için şunu kullanın{1}", "{0} Ekran okuyucu için iyileştirilmiş modu etkinleştirmek için {1} ile hızlı seçimi açın ve şu anda klavye aracılığıyla tetiklenemeyen Ekran Okuyucusu Erişilebilirlik Modunu Aç/Kapat komutunu çalıştırın.", "{0} Lütfen tuş bağlamaları düzenleyicisine erişerek Ekran Okuyucusu Erişilebilirlik Modunu Aç/Kapat komutu için bir tuş bağlaması atayın {1} ve çalıştırın.", "düzenleyici", "Daha uzun satırlara giderken bile sonda kal", "Daha uzun satırlara giderken bile sonda kal", "İkincil imleçler kaldırıldı", "&&Geri Al", "Geri Al", "Geri Al", "&&Yinele", "Yinele", "Yinele", "&&Tümünü Seç", "Tümünü Seç", "Tümünü Seç", "DOM tabanlı işleme kullan", "Satır içi tamamlamaların şu anda ertelenip ertelenmediği", "Satır İçi Öneriler için erteleme süresini seçin", "Satır İçi Önerileri Ertele", "Satır İçi Önerileri Ertelemeyi İptal Et", "İmleç sayısı {0} ile sınırlandırıldı. Daha büyük değişiklikler için [bul ve değiştir](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) kullanmayı veya düzenleyici çoklu imleç sınırı ayarını artırmayı düşünün.", "Çoklu İmleç Sınırını Artırma", "Değişmeyen Bölgeleri Daraltmayı Aç/Kapat", "Taşınan Kod Bloklarını Göster/Gizle", "Alan Sınırlı Olduğunda Satır İçi Görünümü Kullan'a Geç", "Fark Düzenleyicisi", "Diğer Yüze Geç", "Taşımayı Karşılaştır'dan Çık", "Değiştirilmemiş Tüm Bölgeleri Daralt", "Değiştirilmemiş Tüm Bölgeleri Göster", "Geri Dön", "Erişilebilir Fark Görüntüleyicisi", "Sonraki Farka Git", "Önceki Farka Git", "Erişilebilir fark görüntüleyicisinde 'Ekle' simgesi.", "Erişilebilir fark görüntüleyicisinde 'Kaldır' simgesi.", "Erişilebilir fark görüntüleyicisinde 'Kapat' simgesi.", "Kapat", "Erişilebilir Fark Görüntüleyicisi. Gezinmek için yukarı ve aşağı ok tuşlarını kullanın.", "satır değiştirilmedi", "1 satır değiştirildi", "{0} satır değiştirildi", "{0} / {1} fark: özgün satır: {2}, {3}, değiştirilen satır: {4}, {5}", "boş", "{0} değiştirilmemiş satır {1}", "{0} özgün satır: {1} değiştirilen satır: {2}", "+ {0} değiştirilmiş satır {1}", "- {0} özgün satır {1}", " erişilebilirlik yardımını açmak için {0} kullanın.", "Silinen satırları kopyala", "Silinen satırı kopyala", "Değiştirilen satırları kopyala", "Değiştirilen satırı kopyala", "Silinen satırı kopyala ({0})", "Değiştirilen satırı kopyala ({0})", "Bu değişikliği geri al", "Alan Sınırlı Olduğunda Satır İçi Görünümü Kullan", "Taşınan Kod Bloklarını Göster", "Bloğu Geri Döndür", "Seçimi Geri Döndür", "Erişilebilir Fark Görüntüleyicisi'ni aç", "Değişmeyen Bölgeyi Katlayın", "{0} gizli satır", "Yukarıda daha fazlasını göstermek için tıklayın veya sürükleyin", "Değişmeyen Bölgeyi Göster", "Aşağıda daha fazlasını göstermek için tıklayın veya sürükleyin", "{0} gizli satır", "Katlamayı kaldırmak için çift tıkla", "Kod, değişikliklerle {0}-{1} satırına taşındı", "Kod, değişikliklerle {0}-{1} satırından taşındı", "Kod, {0}-{1} satırına taşındı", "Kod, {0}-{1} satırından taşındı", "Seçili Değişiklikleri Ger Döndür", "Değişikliği Geri Döndür", "Fark düzenleyicisinde taşınan metnin kenarlık rengi.", "Fark düzenleyicisinde taşınan metnin aktif kenarlık rengi.", "DeğişLine truncated
globalThis._VSCODE_NLS_LANGUAGE = "tr";
return nls_messages_tr$1;
}
var nls_messages_trExports = requireNls_messages_tr();
const nls_messages_tr = /* @__PURE__ */ _commonjsHelpers.getDefaultExportFromCjs(nls_messages_trExports);
return nls_messages_tr;
}));
+11
View File
@@ -0,0 +1,11 @@
define("vs/nls.messages.zh-cn.js", (function() {
"use strict";
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "输入", "区分大小写", "全字匹配", "使用正则表达式", "输入", "保留大小写", "在辅助视图中用 {0} 检查此项。", "通过命令“打开辅助视图”在辅助视图中检查此项,该命令当前无法通过键绑定触发。", "错误: {0}", "警告: {0}", "信息: {0}", " 或使用 {0} 以查看历史记录", " (使用 {0} 查看历史记录)", "清除的输入", "未绑定", "选择框", "更多操作...", "要搜索的类型", "关闭", "要搜索的类型", "未找到任何结果。", "无结果", "{0} 个结果", "要筛选的类型", "要搜索的类型", "筛选器", "模糊匹配", "(空)", "{0}: {1}", "发生了系统错误 ({0})", "出现未知错误。有关详细信息,请参阅日志。", "出现未知错误。有关详细信息,请参阅日志。", "{0} 个(共 {1} 个错误)", "出现未知错误。有关详细信息,请参阅日志。", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Option", "Command", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "扩展", "集成终端", "聊天", "遥测", "更新", "编辑器", "现在无法访问编辑器。", "{0} 若要启用屏幕阅读器优化模式,请使用 {1}", "{0} 若要启用屏幕阅读器优化模式,请使用 {1} 打开快速选取,然后运行“切换屏幕阅读器辅助功能模式”命令;当前无法通过键盘触发此命令。", "{0} 请通过使用 {1} 访问键绑定编辑器并运行它,为“切换屏幕阅读器辅助功能模式”命令分配键绑定。", "编辑器", "即使转到较长的行,也一直到末尾", "即使转到较长的行,也一直到末尾", "已删除辅助游标", "撤消(&&U)", "撤消", "撤消", "恢复(&&R)", "恢复", "恢复", "全选(&&S)", "选择全部", "选择全部", "使用基于 DOM 的呈现", "当前是否推迟内联补全", "选择内联建议的推迟时长", "推迟内联建议", "取消推迟内联建议", "已将光标数限制为 {0}。请考虑使用 [查找和替换](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)进行较大的更改或增加编辑器多光标限制设置。", "增加多光标限制", "切换折叠未更改的区域", "切换显示移动的代码块", "在空间受限时切换使用内联视图", "差异编辑器", "切换侧面", "退出比较移动", "折叠所有未更改的区域", "显示所有未更改的区域", "还原", "可访问的差异查看器", "转至下一个差异", "转至上一个差异", "可访问差异查看器中“插入”的图标。", "可访问差异查看器中“删除”的图标。", "可访问差异查看器中“关闭”的图标。", "关闭", "可访问的差异查看器。使用向上和向下箭头导航。", "未更改行", "更改了 1 行", "更改了 {0} 行", "差异 {0}/ {1}: 原始行 {2},{3},修改后的行 {4},{5}", "空白", "{0} 未更改的行 {1}", "{0}原始行{1}修改的行{2}", "+ {0}修改的行{1}", "- {0}原始行{1}", " 使用 {0} 打开辅助功能帮助。", "复制已删除的行", "复制已删除的行", "复制更改的行", "复制更改的行", "复制已删除的行({0})", "复制更改的行({0})", "还原此更改", "空间受限时使用内联视图", "显示移动的代码块", "还原块", "还原所选内容", "打开可访问差异查看器", "折叠未更改的区域", "{0} 个隐藏的行", "单击或拖动可在上面显示更多内容", "显示未更改的区域", "单击或拖动可在下方显示更多内容", "{0} 个隐藏的行", "双击展开", "代码已移动至行 {0}-{1},有更改", "代码已从行 {0}-{1} 移动,有更改", "代码已移动到行 {0} {1}", "代码已从行 {0}-{1} 移动", "还原所选更改", "还原更改", "在差异编辑器中移动的文本的边框颜色。", "在差异编辑器中移动的文本的活动边框颜色。", "未更改区域小组件周围的阴影颜色。", "差异编辑器中插入项的线条修饰。", "差异编辑器中删除项的线条修饰。", "差异编辑器标题的背景色", "多文件差异编辑器的背景色", "多文件差异编辑器的边框颜色", "正在加载...", "没有已更改的文件", "编辑器", "一个制表符等于的空格数。当 {0} 打开时,将根据文件内容替代此设置。", '用于缩进或 `"tabSize"` 的空格数,可使用 `#editor.tabSize#` 中的值。当 `#editor.detectIndentation#` 处于打开状态时,将根据文件内容替代此设置。', "按 `Tab` 时插入空格。当 {0} 打开时,将根据文件内容替代此设置。", "控制在基于文件内容打开文件时是否自动检测 {0} 和 {1}。", "删除自动插入的尾随空白符号。", "对大型文件进行特殊处理,禁用某些内存密集型功能。", "关闭基于字词的建议。", "仅建议活动文档中的字词。", "建议使用同一语言的所有打开的文档中的Line truncated
globalThis._VSCODE_NLS_LANGUAGE = "zh-cn";
}));
+11
View File
@@ -0,0 +1,11 @@
define("vs/nls.messages.zh-tw.js", (function() {
"use strict";
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.55.1(516f350bdaf7a82f6731bd128a9ec86a6e5fa47d)
* Released under the MIT license
* https://github.com/microsoft/vscode/blob/main/LICENSE.txt
*-----------------------------------------------------------*/
globalThis._VSCODE_NLS_MESSAGES = ["{0} ({1})", "輸入", "大小寫須相符", "全字拼寫須相符", "使用規則運算式", "輸入", "保留大小寫", "使用 {0} 在可存取檢視中檢查此項目。", "透過目前無法透過按鍵繫結關係觸發的開啟可存取檢視命令,在可存取檢視中檢查此項目。", "錯誤: {0}", "警告: {0}", "資訊: {0}", " 或 {0} 以取得歷程記錄", " ({0} 以取得歷程記錄)", "已清除輸入", "未繫結", "選取方塊", "更多操作", "要搜尋的類型", "關閉", "要搜尋的類型", "找不到結果。", "沒有結果", "{0} 個結果", "要篩選的類型", "要搜尋的類型", "篩選", "模糊比對", "(空的)", "{0}: {1}", "發生系統錯誤 ({0})", "發生未知的錯誤。如需詳細資訊,請參閱記錄檔。", "發生未知的錯誤。如需詳細資訊,請參閱記錄檔。", "{0} (總計 {1} 個錯誤)", "發生未知的錯誤。如需詳細資訊,請參閱記錄檔。", "Ctrl", "Shift", "Alt", "Windows", "Ctrl", "Shift", "Alt", "Super", "Control", "Shift", "Option", "Command", "Control", "Shift", "Alt", "Windows", "Control", "Shift", "Alt", "Super", "延伸模組", "整合式終端", "聊天", "遙測", "更新", "編輯器", "目前無法存取此編輯器。", "{0} 若要啟用螢幕助讀程式最佳化模式,請使用 {1}", "{0} 若要啟用螢幕助讀程式最佳化模式,,請使用 {1} 開啟快速挑選,然後執行 [切換螢幕助讀程式協助工具模式] 命令,該模式目前無法透過鍵盤觸發。", "{0} 請使用 {1} 存取按鍵繫結關係編輯器並加以執行,以為 [切換螢幕助讀程式協助工具模式] 命令指派按鍵繫結關係。", "編輯器", "即使行的長度過長,仍要堅持至結尾", "即使行的長度過長,仍要堅持至結尾", "已移除次要資料指標", "復原(&&U)", "復原", "復原", "取消復原(&&R)", "重做", "重做", "全選(&&S)", "全選", "全選", "使用 DOM 型轉譯", "目前內嵌完成是否已被延遲", "選取內嵌建議的延遲持續時間", "延遲內嵌建議", "取消延遲的內嵌建議", "游標數目已限制為 {0}。請考慮使用 [尋找和取代](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) 進行較大型的變更,或增加編輯器的多重游標限制設定。", "增加多重游標限制", "切換摺疊未變更的區域", "切換顯示移動的程式碼區塊", "當空間有限時切換使用內嵌檢視", "Diff 編輯器", "切換側邊", "結束比較移動", "摺疊所有未變更的區域", "顯示所有未變更的區域", "還原", "可存取的 Diff 檢視器", "移至下一個差異", "移至上一個差異", "易存取差異檢視器中的 [插入] 圖示。", "易存取差異檢視器中的 [移除] 圖示。", "易存取差異檢視器中的 [關閉] 圖示。", "關閉", "可存取的 Diff 檢視器。使用向上和向下箭頭來瀏覽。", "未變更任一行", "已變更 1 行", "已變更 {0} 行", "{1} 項差異中的第 {0} 項: 原始行 {2}、{3},修改行 {4}、{5}", "空白", "{0} 未變更行 {1}", "{0} 原始行 {1} 修改的行 {2}", "+ {0} 修改行 {1}", "- {0} 原始行 {1}", " 使用 {0} 以開啟協助工具說明。", "複製已刪除的行", "複製已刪除的行", "複製變更的行", "複製變更的行", "複製已刪除的行 ({0})", "複製變更的行 ({0})", "還原此變更", "空間有限時使用內嵌檢視", "顯示移動的程式碼區塊", "還原區塊", "還原選取範圍", "開啟易存取差異檢視器", "摺疊未變更的區域", "{0} 條隱藏行", "按一下或拖曳以在上方顯示更多內容", "顯示未變更的區域", "按一下或拖曳以在下方顯示更多內容", "{0} 條隱藏行", "按兩下以展開", "行 {0}-{1} 的程式碼已移動,且有所變更", "行 {0}-{1} 的程式碼已移動,且有所變更", "程式碼已移至行 {0}-{1}", "行 {0}-{1} 的程式碼已移動", "還原選取的變更", "還原變更", "在 Diff 編輯器中移動的文字的框線色彩。", "在 Diff 編輯器中移動的文字的作用中框線色彩。", "未變更的區域小工具周圍的陰影色彩。", "Diff 編輯器中用於插入的線條裝飾。", "Diff 編輯器中用於移除的線條裝飾。", "Diff 編輯器標頭的背景色彩", "多重檔案 Diff 編輯器的背景色彩", "多重檔案 Diff 編輯器的框線色彩", "正在載入...", "沒有變更的檔案", "編輯器", "與 Tab 相等的空格數量。當 {0} 已開啟時,會根據檔案內容覆寫此設定。", "用於縮排或 'tabSize' 使用 `\"editor.tabSize\"` 值的空格數目。當 '#editor.detectIndentation#' 開啟時,會根據檔案內容覆寫這個設定。", "在按 `Tab` 時插入空格。當 {0} 開啟時,會根據檔案內容覆寫此設定。", "根據檔案內容,控制當檔案開啟時,是否自動偵測 {0} 和 {1}。", "移除尾端自動插入的空白字元。", "針對大型檔案停Line truncated
globalThis._VSCODE_NLS_LANGUAGE = "zh-tw";
}));
+186
View File
@@ -0,0 +1,186 @@
define("vs/objective-c-DZzj24DI", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".objective-c",
keywords: [
"#import",
"#include",
"#define",
"#else",
"#endif",
"#if",
"#ifdef",
"#ifndef",
"#ident",
"#undef",
"@class",
"@defs",
"@dynamic",
"@encode",
"@end",
"@implementation",
"@interface",
"@package",
"@private",
"@protected",
"@property",
"@protocol",
"@public",
"@selector",
"@synthesize",
"__declspec",
"assign",
"auto",
"BOOL",
"break",
"bycopy",
"byref",
"case",
"char",
"Class",
"const",
"copy",
"continue",
"default",
"do",
"double",
"else",
"enum",
"extern",
"FALSE",
"false",
"float",
"for",
"goto",
"if",
"in",
"int",
"id",
"inout",
"IMP",
"long",
"nil",
"nonatomic",
"NULL",
"oneway",
"out",
"private",
"public",
"protected",
"readwrite",
"readonly",
"register",
"return",
"SEL",
"self",
"short",
"signed",
"sizeof",
"static",
"struct",
"super",
"switch",
"typedef",
"TRUE",
"true",
"union",
"unsigned",
"volatile",
"void",
"while"
],
decpart: /\d(_?\d)*/,
decimal: /0|@decpart/,
tokenizer: {
root: [
{ include: "@comments" },
{ include: "@whitespace" },
{ include: "@numbers" },
{ include: "@strings" },
[/[,:;]/, "delimiter"],
[/[{}\[\]()<>]/, "@brackets"],
[
/[a-zA-Z@#]\w*/,
{
cases: {
"@keywords": "keyword",
"@default": "identifier"
}
}
],
[/[<>=\\+\\-\\*\\/\\^\\|\\~,]|and\\b|or\\b|not\\b]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
comments: [
["\\/\\*", "comment", "@comment"],
["\\/\\/+.*", "comment"]
],
comment: [
["\\*\\/", "comment", "@pop"],
[".", "comment"]
],
numbers: [
[/0[xX][0-9a-fA-F]*(_?[0-9a-fA-F])*/, "number.hex"],
[
/@decimal((\.@decpart)?([eE][\-+]?@decpart)?)[fF]*/,
{
cases: {
"(\\d)*": "number",
$0: "number.float"
}
}
]
],
// Recognize strings, including those broken across lines with \ (but not without)
strings: [
[/'$/, "string.escape", "@popall"],
[/'/, "string.escape", "@stringBody"],
[/"$/, "string.escape", "@popall"],
[/"/, "string.escape", "@dblStringBody"]
],
stringBody: [
[/[^\\']+$/, "string", "@popall"],
[/[^\\']+/, "string"],
[/\\./, "string"],
[/'/, "string.escape", "@popall"],
[/\\$/, "string"]
],
dblStringBody: [
[/[^\\"]+$/, "string", "@popall"],
[/[^\\"]+/, "string"],
[/\\./, "string"],
[/"/, "string.escape", "@popall"],
[/\\$/, "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+254
View File
@@ -0,0 +1,254 @@
define("vs/pascal-Ek4lERtt", ["exports"], (function(exports) {
"use strict";
const conf = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["{", "}"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*\\{\\$REGION(\\s\\'.*\\')?\\}"),
end: new RegExp("^\\s*\\{\\$ENDREGION\\}")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".pascal",
ignoreCase: true,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
keywords: [
"absolute",
"abstract",
"all",
"and_then",
"array",
"as",
"asm",
"attribute",
"begin",
"bindable",
"case",
"class",
"const",
"contains",
"default",
"div",
"else",
"end",
"except",
"exports",
"external",
"far",
"file",
"finalization",
"finally",
"forward",
"generic",
"goto",
"if",
"implements",
"import",
"in",
"index",
"inherited",
"initialization",
"interrupt",
"is",
"label",
"library",
"mod",
"module",
"name",
"near",
"not",
"object",
"of",
"on",
"only",
"operator",
"or_else",
"otherwise",
"override",
"package",
"packed",
"pow",
"private",
"program",
"protected",
"public",
"published",
"interface",
"implementation",
"qualified",
"read",
"record",
"resident",
"requires",
"resourcestring",
"restricted",
"segment",
"set",
"shl",
"shr",
"specialize",
"stored",
"strict",
"then",
"threadvar",
"to",
"try",
"type",
"unit",
"uses",
"var",
"view",
"virtual",
"dynamic",
"overload",
"reintroduce",
"with",
"write",
"xor",
"true",
"false",
"procedure",
"function",
"constructor",
"destructor",
"property",
"break",
"continue",
"exit",
"abort",
"while",
"do",
"for",
"raise",
"repeat",
"until"
],
typeKeywords: [
"boolean",
"double",
"byte",
"integer",
"shortint",
"char",
"longint",
"float",
"string"
],
operators: [
"=",
">",
"<",
"<=",
">=",
"<>",
":",
":=",
"and",
"or",
"+",
"-",
"*",
"/",
"@",
"&",
"^",
"%"
],
// we include these common regular expressions
symbols: /[=><:@\^&|+\-*\/\^%]+/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_][\w]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/'/, "string.invalid"],
[/\#\d+/, "string"]
],
comment: [
[/[^\*\}]+/, "comment"],
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
[/\}/, "comment", "@pop"],
[/[\{]/, "comment"]
],
string: [
[/[^\\']+/, "string"],
[/\\./, "string.escape.invalid"],
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\{/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+167
View File
@@ -0,0 +1,167 @@
define("vs/pascaligo-BhBiNdI2", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["(*", "*)"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".pascaligo",
ignoreCase: true,
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
keywords: [
"begin",
"block",
"case",
"const",
"else",
"end",
"fail",
"for",
"from",
"function",
"if",
"is",
"nil",
"of",
"remove",
"return",
"skip",
"then",
"type",
"var",
"while",
"with",
"option",
"None",
"transaction"
],
typeKeywords: [
"bool",
"int",
"list",
"map",
"nat",
"record",
"string",
"unit",
"address",
"map",
"mtz",
"xtz"
],
operators: [
"=",
">",
"<",
"<=",
">=",
"<>",
":",
":=",
"and",
"mod",
"or",
"+",
"-",
"*",
"/",
"@",
"&",
"^",
"%"
],
// we include these common regular expressions
symbols: /[=><:@\^&|+\-*\/\^%]+/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_][\w]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/[<>](?!@symbols)/, "@brackets"],
[
/@symbols/,
{
cases: {
"@operators": "delimiter",
"@default": ""
}
}
],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\$[0-9a-fA-F]{1,16}/, "number.hex"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
[/'([^'\\]|\\.)*$/, "string.invalid"],
// non-teminated string
[/'/, "string", "@string"],
// characters
[/'[^\\']'/, "string"],
[/'/, "string.invalid"],
[/\#\d+/, "string"]
],
/* */
comment: [
[/[^\(\*]+/, "comment"],
//[/\(\*/, 'comment', '@push' ], // nested comment not allowed :-(
[/\*\)/, "comment", "@pop"],
[/\(\*/, "comment"]
],
string: [
[/[^\\']+/, "string"],
[/\\./, "string.escape.invalid"],
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\(\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+629
View File
@@ -0,0 +1,629 @@
define("vs/perl-BZM3Cl3T", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "`", close: "`" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "`", close: "`" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".perl",
brackets: [
{ token: "delimiter.bracket", open: "{", close: "}" },
{ token: "delimiter.parenthesis", open: "(", close: ")" },
{ token: "delimiter.square", open: "[", close: "]" }
],
// https://learn.perl.org/docs/keywords.html
// Perl syntax
keywords: [
"__DATA__",
"else",
"lock",
"__END__",
"elsif",
"lt",
"__FILE__",
"eq",
"__LINE__",
"exp",
"ne",
"sub",
"__PACKAGE__",
"for",
"no",
"and",
"foreach",
"or",
"unless",
"cmp",
"ge",
"package",
"until",
"continue",
"gt",
"while",
"CORE",
"if",
"xor",
"do",
"le",
"__DIE__",
"__WARN__"
],
// Perl functions
builtinFunctions: [
"-A",
"END",
"length",
"setpgrp",
"-B",
"endgrent",
"link",
"setpriority",
"-b",
"endhostent",
"listen",
"setprotoent",
"-C",
"endnetent",
"local",
"setpwent",
"-c",
"endprotoent",
"localtime",
"setservent",
"-d",
"endpwent",
"log",
"setsockopt",
"-e",
"endservent",
"lstat",
"shift",
"-f",
"eof",
"map",
"shmctl",
"-g",
"eval",
"mkdir",
"shmget",
"-k",
"exec",
"msgctl",
"shmread",
"-l",
"exists",
"msgget",
"shmwrite",
"-M",
"exit",
"msgrcv",
"shutdown",
"-O",
"fcntl",
"msgsnd",
"sin",
"-o",
"fileno",
"my",
"sleep",
"-p",
"flock",
"next",
"socket",
"-r",
"fork",
"not",
"socketpair",
"-R",
"format",
"oct",
"sort",
"-S",
"formline",
"open",
"splice",
"-s",
"getc",
"opendir",
"split",
"-T",
"getgrent",
"ord",
"sprintf",
"-t",
"getgrgid",
"our",
"sqrt",
"-u",
"getgrnam",
"pack",
"srand",
"-w",
"gethostbyaddr",
"pipe",
"stat",
"-W",
"gethostbyname",
"pop",
"state",
"-X",
"gethostent",
"pos",
"study",
"-x",
"getlogin",
"print",
"substr",
"-z",
"getnetbyaddr",
"printf",
"symlink",
"abs",
"getnetbyname",
"prototype",
"syscall",
"accept",
"getnetent",
"push",
"sysopen",
"alarm",
"getpeername",
"quotemeta",
"sysread",
"atan2",
"getpgrp",
"rand",
"sysseek",
"AUTOLOAD",
"getppid",
"read",
"system",
"BEGIN",
"getpriority",
"readdir",
"syswrite",
"bind",
"getprotobyname",
"readline",
"tell",
"binmode",
"getprotobynumber",
"readlink",
"telldir",
"bless",
"getprotoent",
"readpipe",
"tie",
"break",
"getpwent",
"recv",
"tied",
"caller",
"getpwnam",
"redo",
"time",
"chdir",
"getpwuid",
"ref",
"times",
"CHECK",
"getservbyname",
"rename",
"truncate",
"chmod",
"getservbyport",
"require",
"uc",
"chomp",
"getservent",
"reset",
"ucfirst",
"chop",
"getsockname",
"return",
"umask",
"chown",
"getsockopt",
"reverse",
"undef",
"chr",
"glob",
"rewinddir",
"UNITCHECK",
"chroot",
"gmtime",
"rindex",
"unlink",
"close",
"goto",
"rmdir",
"unpack",
"closedir",
"grep",
"say",
"unshift",
"connect",
"hex",
"scalar",
"untie",
"cos",
"index",
"seek",
"use",
"crypt",
"INIT",
"seekdir",
"utime",
"dbmclose",
"int",
"select",
"values",
"dbmopen",
"ioctl",
"semctl",
"vec",
"defined",
"join",
"semget",
"wait",
"delete",
"keys",
"semop",
"waitpid",
"DESTROY",
"kill",
"send",
"wantarray",
"die",
"last",
"setgrent",
"warn",
"dump",
"lc",
"sethostent",
"write",
"each",
"lcfirst",
"setnetent"
],
// File handlers
builtinFileHandlers: ["ARGV", "STDERR", "STDOUT", "ARGVOUT", "STDIN", "ENV"],
// Perl variables
builtinVariables: [
"$!",
"$^RE_TRIE_MAXBUF",
"$LAST_REGEXP_CODE_RESULT",
'$"',
"$^S",
"$LIST_SEPARATOR",
"$#",
"$^T",
"$MATCH",
"$$",
"$^TAINT",
"$MULTILINE_MATCHING",
"$%",
"$^UNICODE",
"$NR",
"$&",
"$^UTF8LOCALE",
"$OFMT",
"$'",
"$^V",
"$OFS",
"$(",
"$^W",
"$ORS",
"$)",
"$^WARNING_BITS",
"$OS_ERROR",
"$*",
"$^WIDE_SYSTEM_CALLS",
"$OSNAME",
"$+",
"$^X",
"$OUTPUT_AUTO_FLUSH",
"$,",
"$_",
"$OUTPUT_FIELD_SEPARATOR",
"$-",
"$`",
"$OUTPUT_RECORD_SEPARATOR",
"$.",
"$a",
"$PERL_VERSION",
"$/",
"$ACCUMULATOR",
"$PERLDB",
"$0",
"$ARG",
"$PID",
"$:",
"$ARGV",
"$POSTMATCH",
"$;",
"$b",
"$PREMATCH",
"$<",
"$BASETIME",
"$PROCESS_ID",
"$=",
"$CHILD_ERROR",
"$PROGRAM_NAME",
"$>",
"$COMPILING",
"$REAL_GROUP_ID",
"$?",
"$DEBUGGING",
"$REAL_USER_ID",
"$@",
"$EFFECTIVE_GROUP_ID",
"$RS",
"$[",
"$EFFECTIVE_USER_ID",
"$SUBSCRIPT_SEPARATOR",
"$\\",
"$EGID",
"$SUBSEP",
"$]",
"$ERRNO",
"$SYSTEM_FD_MAX",
"$^",
"$EUID",
"$UID",
"$^A",
"$EVAL_ERROR",
"$WARNING",
"$^C",
"$EXCEPTIONS_BEING_CAUGHT",
"$|",
"$^CHILD_ERROR_NATIVE",
"$EXECUTABLE_NAME",
"$~",
"$^D",
"$EXTENDED_OS_ERROR",
"%!",
"$^E",
"$FORMAT_FORMFEED",
"%^H",
"$^ENCODING",
"$FORMAT_LINE_BREAK_CHARACTERS",
"%ENV",
"$^F",
"$FORMAT_LINES_LEFT",
"%INC",
"$^H",
"$FORMAT_LINES_PER_PAGE",
"%OVERLOAD",
"$^I",
"$FORMAT_NAME",
"%SIG",
"$^L",
"$FORMAT_PAGE_NUMBER",
"@+",
"$^M",
"$FORMAT_TOP_NAME",
"@-",
"$^N",
"$GID",
"@_",
"$^O",
"$INPLACE_EDIT",
"@ARGV",
"$^OPEN",
"$INPUT_LINE_NUMBER",
"@INC",
"$^P",
"$INPUT_RECORD_SEPARATOR",
"@LAST_MATCH_START",
"$^R",
"$LAST_MATCH_END",
"$^RE_DEBUG_FLAGS",
"$LAST_PAREN_MATCH"
],
// operators
symbols: /[:+\-\^*$&%@=<>!?|\/~\.]/,
quoteLikeOps: ["qr", "m", "s", "q", "qq", "qx", "qw", "tr", "y"],
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
{ include: "@whitespace" },
[
/[a-zA-Z\-_][\w\-_]*/,
{
cases: {
"@keywords": "keyword",
"@builtinFunctions": "type.identifier",
"@builtinFileHandlers": "variable.predefined",
"@quoteLikeOps": {
token: "@rematch",
next: "quotedConstructs"
},
"@default": ""
}
}
],
// Perl variables
[
/[\$@%][*@#?\+\-\$!\w\\\^><~:;\.]+/,
{
cases: {
"@builtinVariables": "variable.predefined",
"@default": "variable"
}
}
],
{ include: "@strings" },
{ include: "@dblStrings" },
// Perl Doc
{ include: "@perldoc" },
// Here Doc
{ include: "@heredoc" },
[/[{}\[\]()]/, "@brackets"],
// RegExp
[/[\/](?:(?:\[(?:\\]|[^\]])+\])|(?:\\\/|[^\]\/]))*[\/]\w*\s*(?=[).,;]|$)/, "regexp"],
[/@symbols/, "operators"],
{ include: "@numbers" },
[/[,;]/, "delimiter"]
],
whitespace: [
[/\s+/, "white"],
[/(^#!.*$)/, "metatag"],
[/(^#.*$)/, "comment"]
],
numbers: [
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
[/\d+/, "number"]
],
// Single quote string
strings: [[/'/, "string", "@stringBody"]],
stringBody: [
[/'/, "string", "@popall"],
[/\\'/, "string.escape"],
[/./, "string"]
],
// Double quote string
dblStrings: [[/"/, "string", "@dblStringBody"]],
dblStringBody: [
[/"/, "string", "@popall"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
{ include: "@variables" },
[/./, "string"]
],
// Quoted constructs
// Percent strings in Ruby are similar to quote-like operators in Perl.
// This is adapted from pstrings in ../ruby/ruby.ts.
quotedConstructs: [
[/(q|qw|tr|y)\s*\(/, { token: "string.delim", switchTo: "@qstring.(.)" }],
[/(q|qw|tr|y)\s*\[/, { token: "string.delim", switchTo: "@qstring.[.]" }],
[/(q|qw|tr|y)\s*\{/, { token: "string.delim", switchTo: "@qstring.{.}" }],
[/(q|qw|tr|y)\s*</, { token: "string.delim", switchTo: "@qstring.<.>" }],
[/(q|qw|tr|y)#/, { token: "string.delim", switchTo: "@qstring.#.#" }],
[/(q|qw|tr|y)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qstring.$2.$2" }],
[/(q|qw|tr|y)\s+(\w)/, { token: "string.delim", switchTo: "@qstring.$2.$2" }],
[/(qr|m|s)\s*\(/, { token: "regexp.delim", switchTo: "@qregexp.(.)" }],
[/(qr|m|s)\s*\[/, { token: "regexp.delim", switchTo: "@qregexp.[.]" }],
[/(qr|m|s)\s*\{/, { token: "regexp.delim", switchTo: "@qregexp.{.}" }],
[/(qr|m|s)\s*</, { token: "regexp.delim", switchTo: "@qregexp.<.>" }],
[/(qr|m|s)#/, { token: "regexp.delim", switchTo: "@qregexp.#.#" }],
[/(qr|m|s)\s*([^A-Za-z0-9_#\s])/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }],
[/(qr|m|s)\s+(\w)/, { token: "regexp.delim", switchTo: "@qregexp.$2.$2" }],
[/(qq|qx)\s*\(/, { token: "string.delim", switchTo: "@qqstring.(.)" }],
[/(qq|qx)\s*\[/, { token: "string.delim", switchTo: "@qqstring.[.]" }],
[/(qq|qx)\s*\{/, { token: "string.delim", switchTo: "@qqstring.{.}" }],
[/(qq|qx)\s*</, { token: "string.delim", switchTo: "@qqstring.<.>" }],
[/(qq|qx)#/, { token: "string.delim", switchTo: "@qqstring.#.#" }],
[/(qq|qx)\s*([^A-Za-z0-9#\s])/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }],
[/(qq|qx)\s+(\w)/, { token: "string.delim", switchTo: "@qqstring.$2.$2" }]
],
// Non-expanded quoted string
// qstring<open>.<close>
// open = open delimiter
// close = close delimiter
qstring: [
[/\\./, "string.escape"],
[
/./,
{
cases: {
"$#==$S3": { token: "string.delim", next: "@pop" },
"$#==$S2": { token: "string.delim", next: "@push" },
// nested delimiters
"@default": "string"
}
}
]
],
// Quoted regexp
// qregexp.<open>.<close>
// open = open delimiter
// close = close delimiter
qregexp: [
{ include: "@variables" },
[/\\./, "regexp.escape"],
[
/./,
{
cases: {
"$#==$S3": {
token: "regexp.delim",
next: "@regexpModifiers"
},
"$#==$S2": { token: "regexp.delim", next: "@push" },
// nested delimiters
"@default": "regexp"
}
}
]
],
regexpModifiers: [[/[msixpodualngcer]+/, { token: "regexp.modifier", next: "@popall" }]],
// Expanded quoted string
// qqstring.<open>.<close>
// open = open delimiter
// close = close delimiter
qqstring: [{ include: "@variables" }, { include: "@qstring" }],
heredoc: [
[/<<\s*['"`]?([\w\-]+)['"`]?/, { token: "string.heredoc.delimiter", next: "@heredocBody.$1" }]
],
heredocBody: [
[
/^([\w\-]+)$/,
{
cases: {
"$1==$S2": [
{
token: "string.heredoc.delimiter",
next: "@popall"
}
],
"@default": "string.heredoc"
}
}
],
[/./, "string.heredoc"]
],
perldoc: [[/^=\w/, "comment.doc", "@perldocBody"]],
perldocBody: [
[/^=cut\b/, "type.identifier", "@popall"],
[/./, "comment.doc"]
],
variables: [
[/\$\w+/, "variable"],
// scalar
[/@\w+/, "variable"],
// array
[/%\w+/, "variable"]
// key/value
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+854
View File
@@ -0,0 +1,854 @@
define("vs/pgsql-BAYS0xjf", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "--",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".sql",
ignoreCase: true,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
// This list is generated using `keywords.js`
"ALL",
"ANALYSE",
"ANALYZE",
"AND",
"ANY",
"ARRAY",
"AS",
"ASC",
"ASYMMETRIC",
"AUTHORIZATION",
"BINARY",
"BOTH",
"CASE",
"CAST",
"CHECK",
"COLLATE",
"COLLATION",
"COLUMN",
"CONCURRENTLY",
"CONSTRAINT",
"CREATE",
"CROSS",
"CURRENT_CATALOG",
"CURRENT_DATE",
"CURRENT_ROLE",
"CURRENT_SCHEMA",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"DEFAULT",
"DEFERRABLE",
"DESC",
"DISTINCT",
"DO",
"ELSE",
"END",
"EXCEPT",
"FALSE",
"FETCH",
"FOR",
"FOREIGN",
"FREEZE",
"FROM",
"FULL",
"GRANT",
"GROUP",
"HAVING",
"ILIKE",
"IN",
"INITIALLY",
"INNER",
"INTERSECT",
"INTO",
"IS",
"ISNULL",
"JOIN",
"LATERAL",
"LEADING",
"LEFT",
"LIKE",
"LIMIT",
"LOCALTIME",
"LOCALTIMESTAMP",
"NATURAL",
"NOT",
"NOTNULL",
"NULL",
"OFFSET",
"ON",
"ONLY",
"OR",
"ORDER",
"OUTER",
"OVERLAPS",
"PLACING",
"PRIMARY",
"REFERENCES",
"RETURNING",
"RIGHT",
"SELECT",
"SESSION_USER",
"SIMILAR",
"SOME",
"SYMMETRIC",
"TABLE",
"TABLESAMPLE",
"THEN",
"TO",
"TRAILING",
"TRUE",
"UNION",
"UNIQUE",
"USER",
"USING",
"VARIADIC",
"VERBOSE",
"WHEN",
"WHERE",
"WINDOW",
"WITH"
],
operators: [
"AND",
"BETWEEN",
"IN",
"LIKE",
"NOT",
"OR",
"IS",
"NULL",
"INTERSECT",
"UNION",
"INNER",
"JOIN",
"LEFT",
"OUTER",
"RIGHT"
],
builtinFunctions: [
"abbrev",
"abs",
"acldefault",
"aclexplode",
"acos",
"acosd",
"acosh",
"age",
"any",
"area",
"array_agg",
"array_append",
"array_cat",
"array_dims",
"array_fill",
"array_length",
"array_lower",
"array_ndims",
"array_position",
"array_positions",
"array_prepend",
"array_remove",
"array_replace",
"array_to_json",
"array_to_string",
"array_to_tsvector",
"array_upper",
"ascii",
"asin",
"asind",
"asinh",
"atan",
"atan2",
"atan2d",
"atand",
"atanh",
"avg",
"bit",
"bit_and",
"bit_count",
"bit_length",
"bit_or",
"bit_xor",
"bool_and",
"bool_or",
"bound_box",
"box",
"brin_desummarize_range",
"brin_summarize_new_values",
"brin_summarize_range",
"broadcast",
"btrim",
"cardinality",
"cbrt",
"ceil",
"ceiling",
"center",
"char_length",
"character_length",
"chr",
"circle",
"clock_timestamp",
"coalesce",
"col_description",
"concat",
"concat_ws",
"convert",
"convert_from",
"convert_to",
"corr",
"cos",
"cosd",
"cosh",
"cot",
"cotd",
"count",
"covar_pop",
"covar_samp",
"cume_dist",
"current_catalog",
"current_database",
"current_date",
"current_query",
"current_role",
"current_schema",
"current_schemas",
"current_setting",
"current_time",
"current_timestamp",
"current_user",
"currval",
"cursor_to_xml",
"cursor_to_xmlschema",
"date_bin",
"date_part",
"date_trunc",
"database_to_xml",
"database_to_xml_and_xmlschema",
"database_to_xmlschema",
"decode",
"degrees",
"dense_rank",
"diagonal",
"diameter",
"div",
"encode",
"enum_first",
"enum_last",
"enum_range",
"every",
"exp",
"extract",
"factorial",
"family",
"first_value",
"floor",
"format",
"format_type",
"gcd",
"gen_random_uuid",
"generate_series",
"generate_subscripts",
"get_bit",
"get_byte",
"get_current_ts_config",
"gin_clean_pending_list",
"greatest",
"grouping",
"has_any_column_privilege",
"has_column_privilege",
"has_database_privilege",
"has_foreign_data_wrapper_privilege",
"has_function_privilege",
"has_language_privilege",
"has_schema_privilege",
"has_sequence_privilege",
"has_server_privilege",
"has_table_privilege",
"has_tablespace_privilege",
"has_type_privilege",
"height",
"host",
"hostmask",
"inet_client_addr",
"inet_client_port",
"inet_merge",
"inet_same_family",
"inet_server_addr",
"inet_server_port",
"initcap",
"isclosed",
"isempty",
"isfinite",
"isopen",
"json_agg",
"json_array_elements",
"json_array_elements_text",
"json_array_length",
"json_build_array",
"json_build_object",
"json_each",
"json_each_text",
"json_extract_path",
"json_extract_path_text",
"json_object",
"json_object_agg",
"json_object_keys",
"json_populate_record",
"json_populate_recordset",
"json_strip_nulls",
"json_to_record",
"json_to_recordset",
"json_to_tsvector",
"json_typeof",
"jsonb_agg",
"jsonb_array_elements",
"jsonb_array_elements_text",
"jsonb_array_length",
"jsonb_build_array",
"jsonb_build_object",
"jsonb_each",
"jsonb_each_text",
"jsonb_extract_path",
"jsonb_extract_path_text",
"jsonb_insert",
"jsonb_object",
"jsonb_object_agg",
"jsonb_object_keys",
"jsonb_path_exists",
"jsonb_path_match",
"jsonb_path_query",
"jsonb_path_query_array",
"jsonb_path_exists_tz",
"jsonb_path_query_first",
"jsonb_path_query_array_tz",
"jsonb_path_query_first_tz",
"jsonb_path_query_tz",
"jsonb_path_match_tz",
"jsonb_populate_record",
"jsonb_populate_recordset",
"jsonb_pretty",
"jsonb_set",
"jsonb_set_lax",
"jsonb_strip_nulls",
"jsonb_to_record",
"jsonb_to_recordset",
"jsonb_to_tsvector",
"jsonb_typeof",
"justify_days",
"justify_hours",
"justify_interval",
"lag",
"last_value",
"lastval",
"lcm",
"lead",
"least",
"left",
"length",
"line",
"ln",
"localtime",
"localtimestamp",
"log",
"log10",
"lower",
"lower_inc",
"lower_inf",
"lpad",
"lseg",
"ltrim",
"macaddr8_set7bit",
"make_date",
"make_interval",
"make_time",
"make_timestamp",
"make_timestamptz",
"makeaclitem",
"masklen",
"max",
"md5",
"min",
"min_scale",
"mod",
"mode",
"multirange",
"netmask",
"network",
"nextval",
"normalize",
"now",
"npoints",
"nth_value",
"ntile",
"nullif",
"num_nonnulls",
"num_nulls",
"numnode",
"obj_description",
"octet_length",
"overlay",
"parse_ident",
"path",
"pclose",
"percent_rank",
"percentile_cont",
"percentile_disc",
"pg_advisory_lock",
"pg_advisory_lock_shared",
"pg_advisory_unlock",
"pg_advisory_unlock_all",
"pg_advisory_unlock_shared",
"pg_advisory_xact_lock",
"pg_advisory_xact_lock_shared",
"pg_backend_pid",
"pg_backup_start_time",
"pg_blocking_pids",
"pg_cancel_backend",
"pg_client_encoding",
"pg_collation_actual_version",
"pg_collation_is_visible",
"pg_column_compression",
"pg_column_size",
"pg_conf_load_time",
"pg_control_checkpoint",
"pg_control_init",
"pg_control_recovery",
"pg_control_system",
"pg_conversion_is_visible",
"pg_copy_logical_replication_slot",
"pg_copy_physical_replication_slot",
"pg_create_logical_replication_slot",
"pg_create_physical_replication_slot",
"pg_create_restore_point",
"pg_current_logfile",
"pg_current_snapshot",
"pg_current_wal_flush_lsn",
"pg_current_wal_insert_lsn",
"pg_current_wal_lsn",
"pg_current_xact_id",
"pg_current_xact_id_if_assigned",
"pg_current_xlog_flush_location",
"pg_current_xlog_insert_location",
"pg_current_xlog_location",
"pg_database_size",
"pg_describe_object",
"pg_drop_replication_slot",
"pg_event_trigger_ddl_commands",
"pg_event_trigger_dropped_objects",
"pg_event_trigger_table_rewrite_oid",
"pg_event_trigger_table_rewrite_reason",
"pg_export_snapshot",
"pg_filenode_relation",
"pg_function_is_visible",
"pg_get_catalog_foreign_keys",
"pg_get_constraintdef",
"pg_get_expr",
"pg_get_function_arguments",
"pg_get_function_identity_arguments",
"pg_get_function_result",
"pg_get_functiondef",
"pg_get_indexdef",
"pg_get_keywords",
"pg_get_object_address",
"pg_get_owned_sequence",
"pg_get_ruledef",
"pg_get_serial_sequence",
"pg_get_statisticsobjdef",
"pg_get_triggerdef",
"pg_get_userbyid",
"pg_get_viewdef",
"pg_get_wal_replay_pause_state",
"pg_has_role",
"pg_identify_object",
"pg_identify_object_as_address",
"pg_import_system_collations",
"pg_index_column_has_property",
"pg_index_has_property",
"pg_indexam_has_property",
"pg_indexes_size",
"pg_is_in_backup",
"pg_is_in_recovery",
"pg_is_other_temp_schema",
"pg_is_wal_replay_paused",
"pg_is_xlog_replay_paused",
"pg_jit_available",
"pg_last_committed_xact",
"pg_last_wal_receive_lsn",
"pg_last_wal_replay_lsn",
"pg_last_xact_replay_timestamp",
"pg_last_xlog_receive_location",
"pg_last_xlog_replay_location",
"pg_listening_channels",
"pg_log_backend_memory_contexts",
"pg_logical_emit_message",
"pg_logical_slot_get_binary_changes",
"pg_logical_slot_get_changes",
"pg_logical_slot_peek_binary_changes",
"pg_logical_slot_peek_changes",
"pg_ls_archive_statusdir",
"pg_ls_dir",
"pg_ls_logdir",
"pg_ls_tmpdir",
"pg_ls_waldir",
"pg_mcv_list_items",
"pg_my_temp_schema",
"pg_notification_queue_usage",
"pg_opclass_is_visible",
"pg_operator_is_visible",
"pg_opfamily_is_visible",
"pg_options_to_table",
"pg_partition_ancestors",
"pg_partition_root",
"pg_partition_tree",
"pg_postmaster_start_time",
"pg_promote",
"pg_read_binary_file",
"pg_read_file",
"pg_relation_filenode",
"pg_relation_filepath",
"pg_relation_size",
"pg_reload_conf",
"pg_replication_origin_advance",
"pg_replication_origin_create",
"pg_replication_origin_drop",
"pg_replication_origin_oid",
"pg_replication_origin_progress",
"pg_replication_origin_session_is_setup",
"pg_replication_origin_session_progress",
"pg_replication_origin_session_reset",
"pg_replication_origin_session_setup",
"pg_replication_origin_xact_reset",
"pg_replication_origin_xact_setup",
"pg_replication_slot_advance",
"pg_rotate_logfile",
"pg_safe_snapshot_blocking_pids",
"pg_size_bytes",
"pg_size_pretty",
"pg_sleep",
"pg_sleep_for",
"pg_sleep_until",
"pg_snapshot_xip",
"pg_snapshot_xmax",
"pg_snapshot_xmin",
"pg_start_backup",
"pg_stat_file",
"pg_statistics_obj_is_visible",
"pg_stop_backup",
"pg_switch_wal",
"pg_switch_xlog",
"pg_table_is_visible",
"pg_table_size",
"pg_tablespace_databases",
"pg_tablespace_location",
"pg_tablespace_size",
"pg_terminate_backend",
"pg_total_relation_size",
"pg_trigger_depth",
"pg_try_advisory_lock",
"pg_try_advisory_lock_shared",
"pg_try_advisory_xact_lock",
"pg_try_advisory_xact_lock_shared",
"pg_ts_config_is_visible",
"pg_ts_dict_is_visible",
"pg_ts_parser_is_visible",
"pg_ts_template_is_visible",
"pg_type_is_visible",
"pg_typeof",
"pg_visible_in_snapshot",
"pg_wal_lsn_diff",
"pg_wal_replay_pause",
"pg_wal_replay_resume",
"pg_walfile_name",
"pg_walfile_name_offset",
"pg_xact_commit_timestamp",
"pg_xact_commit_timestamp_origin",
"pg_xact_status",
"pg_xlog_location_diff",
"pg_xlog_replay_pause",
"pg_xlog_replay_resume",
"pg_xlogfile_name",
"pg_xlogfile_name_offset",
"phraseto_tsquery",
"pi",
"plainto_tsquery",
"point",
"polygon",
"popen",
"position",
"power",
"pqserverversion",
"query_to_xml",
"query_to_xml_and_xmlschema",
"query_to_xmlschema",
"querytree",
"quote_ident",
"quote_literal",
"quote_nullable",
"radians",
"radius",
"random",
"range_agg",
"range_intersect_agg",
"range_merge",
"rank",
"regexp_count",
"regexp_instr",
"regexp_like",
"regexp_match",
"regexp_matches",
"regexp_replace",
"regexp_split_to_array",
"regexp_split_to_table",
"regexp_substr",
"regr_avgx",
"regr_avgy",
"regr_count",
"regr_intercept",
"regr_r2",
"regr_slope",
"regr_sxx",
"regr_sxy",
"regr_syy",
"repeat",
"replace",
"reverse",
"right",
"round",
"row_number",
"row_security_active",
"row_to_json",
"rpad",
"rtrim",
"scale",
"schema_to_xml",
"schema_to_xml_and_xmlschema",
"schema_to_xmlschema",
"session_user",
"set_bit",
"set_byte",
"set_config",
"set_masklen",
"setseed",
"setval",
"setweight",
"sha224",
"sha256",
"sha384",
"sha512",
"shobj_description",
"sign",
"sin",
"sind",
"sinh",
"slope",
"split_part",
"sprintf",
"sqrt",
"starts_with",
"statement_timestamp",
"stddev",
"stddev_pop",
"stddev_samp",
"string_agg",
"string_to_array",
"string_to_table",
"strip",
"strpos",
"substr",
"substring",
"sum",
"suppress_redundant_updates_trigger",
"table_to_xml",
"table_to_xml_and_xmlschema",
"table_to_xmlschema",
"tan",
"tand",
"tanh",
"text",
"timeofday",
"timezone",
"to_ascii",
"to_char",
"to_date",
"to_hex",
"to_json",
"to_number",
"to_regclass",
"to_regcollation",
"to_regnamespace",
"to_regoper",
"to_regoperator",
"to_regproc",
"to_regprocedure",
"to_regrole",
"to_regtype",
"to_timestamp",
"to_tsquery",
"to_tsvector",
"transaction_timestamp",
"translate",
"trim",
"trim_array",
"trim_scale",
"trunc",
"ts_debug",
"ts_delete",
"ts_filter",
"ts_headline",
"ts_lexize",
"ts_parse",
"ts_rank",
"ts_rank_cd",
"ts_rewrite",
"ts_stat",
"ts_token_type",
"tsquery_phrase",
"tsvector_to_array",
"tsvector_update_trigger",
"tsvector_update_trigger_column",
"txid_current",
"txid_current_if_assigned",
"txid_current_snapshot",
"txid_snapshot_xip",
"txid_snapshot_xmax",
"txid_snapshot_xmin",
"txid_status",
"txid_visible_in_snapshot",
"unistr",
"unnest",
"upper",
"upper_inc",
"upper_inf",
"user",
"var_pop",
"var_samp",
"variance",
"version",
"websearch_to_tsquery",
"width",
"width_bucket",
"xml_is_well_formed",
"xml_is_well_formed_content",
"xml_is_well_formed_document",
"xmlagg",
"xmlcomment",
"xmlconcat",
"xmlelement",
"xmlexists",
"xmlforest",
"xmlparse",
"xmlpi",
"xmlroot",
"xmlserialize",
"xpath",
"xpath_exists"
],
builtinVariables: [
// NOT SUPPORTED
],
pseudoColumns: [
// NOT SUPPORTED
],
tokenizer: {
root: [
{ include: "@comments" },
{ include: "@whitespace" },
{ include: "@pseudoColumns" },
{ include: "@numbers" },
{ include: "@strings" },
{ include: "@complexIdentifiers" },
{ include: "@scopes" },
[/[;,.]/, "delimiter"],
[/[()]/, "@brackets"],
[
/[\w@#$]+/,
{
cases: {
"@operators": "operator",
"@builtinVariables": "predefined",
"@builtinFunctions": "predefined",
"@keywords": "keyword",
"@default": "identifier"
}
}
],
[/[<>=!%&+\-*/|~^]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
comments: [
[/--+.*/, "comment"],
[/\/\*/, { token: "comment.quote", next: "@comment" }]
],
comment: [
[/[^*/]+/, "comment"],
// Not supporting nested comments, as nested comments seem to not be standard?
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
[/\*\//, { token: "comment.quote", next: "@pop" }],
[/./, "comment"]
],
pseudoColumns: [
[
/[$][A-Za-z_][\w@#$]*/,
{
cases: {
"@pseudoColumns": "predefined",
"@default": "identifier"
}
}
]
],
numbers: [
[/0[xX][0-9a-fA-F]*/, "number"],
[/[$][+-]*\d*(\.\d*)?/, "number"],
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
],
strings: [[/'/, { token: "string", next: "@string" }]],
string: [
[/[^']+/, "string"],
[/''/, "string"],
[/'/, { token: "string", next: "@pop" }]
],
complexIdentifiers: [[/"/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
quotedIdentifier: [
[/[^"]+/, "identifier"],
[/""/, "identifier"],
[/"/, { token: "identifier.quote", next: "@pop" }]
],
scopes: [
// NOT SUPPORTED
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+503
View File
@@ -0,0 +1,503 @@
define("vs/php-DK3ktPH8", ["exports"], (function(exports) {
"use strict";
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}", notIn: ["string"] },
{ open: "[", close: "]", notIn: ["string"] },
{ open: "(", close: ")", notIn: ["string"] },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
folding: {
markers: {
start: new RegExp("^\\s*(#|//)region\\b"),
end: new RegExp("^\\s*(#|//)endregion\\b")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: "",
// ignoreCase: true,
// The main tokenizer for our languages
tokenizer: {
root: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.root" }],
[/<!DOCTYPE/, "metatag.html", "@doctype"],
[/<!--/, "comment.html", "@comment"],
[/(<)(\w+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
[/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
[/(<)([:\w]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/(<\/)(\w+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/</, "delimiter.html"],
[/[^<]+/]
// text
],
doctype: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.comment" }],
[/[^>]+/, "metatag.content.html"],
[/>/, "metatag.html", "@pop"]
],
comment: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.comment" }],
[/-->/, "comment.html", "@pop"],
[/[^-]+/, "comment.content.html"],
[/./, "comment.content.html"]
],
otherTag: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.otherTag" }],
[/\/?>/, "delimiter.html", "@pop"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
// whitespace
],
// -- BEGIN <script> tags handling
// After <script
script: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.script" }],
[/type/, "attribute.name", "@scriptAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(script\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <script ... type
scriptAfterType: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.scriptAfterType"
}
],
[/=/, "delimiter", "@scriptAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type =
scriptAfterTypeEquals: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.scriptAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type = $S2
scriptWithCustomType: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.scriptWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
scriptEmbedded: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInEmbeddedState.scriptEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <script> tags handling
// -- BEGIN <style> tags handling
// After <style
style: [
[/<\?((php)|=)?/, { token: "@rematch", switchTo: "@phpInSimpleState.style" }],
[/type/, "attribute.name", "@styleAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(style\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <style ... type
styleAfterType: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.styleAfterType"
}
],
[/=/, "delimiter", "@styleAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type =
styleAfterTypeEquals: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.styleAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type = $S2
styleWithCustomType: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInSimpleState.styleWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
styleEmbedded: [
[
/<\?((php)|=)?/,
{
token: "@rematch",
switchTo: "@phpInEmbeddedState.styleEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <style> tags handling
phpInSimpleState: [
[/<\?((php)|=)?/, "metatag.php"],
[/\?>/, { token: "metatag.php", switchTo: "@$S2.$S3" }],
{ include: "phpRoot" }
],
phpInEmbeddedState: [
[/<\?((php)|=)?/, "metatag.php"],
[
/\?>/,
{
token: "metatag.php",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}
],
{ include: "phpRoot" }
],
phpRoot: [
[
/[a-zA-Z_]\w*/,
{
cases: {
"@phpKeywords": { token: "keyword.php" },
"@phpCompileTimeConstants": { token: "constant.php" },
"@default": "identifier.php"
}
}
],
[
/[$a-zA-Z_]\w*/,
{
cases: {
"@phpPreDefinedVariables": {
token: "variable.predefined.php"
},
"@default": "variable.php"
}
}
],
// brackets
[/[{}]/, "delimiter.bracket.php"],
[/[\[\]]/, "delimiter.array.php"],
[/[()]/, "delimiter.parenthesis.php"],
// whitespace
[/[ \t\r\n]+/],
// comments
[/(#|\/\/)$/, "comment.php"],
[/(#|\/\/)/, "comment.php", "@phpLineComment"],
// block comments
[/\/\*/, "comment.php", "@phpComment"],
// strings
[/"/, "string.php", "@phpDoubleQuoteString"],
[/'/, "string.php", "@phpSingleQuoteString"],
// delimiters
[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,\@]/, "delimiter.php"],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float.php"],
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float.php"],
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex.php"],
[/0[0-7']*[0-7]/, "number.octal.php"],
[/0[bB][0-1']*[0-1]/, "number.binary.php"],
[/\d[\d']*/, "number.php"],
[/\d/, "number.php"]
],
phpComment: [
[/\*\//, "comment.php", "@pop"],
[/[^*]+/, "comment.php"],
[/./, "comment.php"]
],
phpLineComment: [
[/\?>/, { token: "@rematch", next: "@pop" }],
[/.$/, "comment.php", "@pop"],
[/[^?]+$/, "comment.php", "@pop"],
[/[^?]+/, "comment.php"],
[/./, "comment.php"]
],
phpDoubleQuoteString: [
[/[^\\"]+/, "string.php"],
[/@escapes/, "string.escape.php"],
[/\\./, "string.escape.invalid.php"],
[/"/, "string.php", "@pop"]
],
phpSingleQuoteString: [
[/[^\\']+/, "string.php"],
[/@escapes/, "string.escape.php"],
[/\\./, "string.escape.invalid.php"],
[/'/, "string.php", "@pop"]
]
},
phpKeywords: [
"abstract",
"and",
"array",
"as",
"break",
"callable",
"case",
"catch",
"cfunction",
"class",
"clone",
"const",
"continue",
"declare",
"default",
"do",
"else",
"elseif",
"enddeclare",
"endfor",
"endforeach",
"endif",
"endswitch",
"endwhile",
"extends",
"false",
"final",
"for",
"foreach",
"function",
"global",
"goto",
"if",
"implements",
"interface",
"instanceof",
"insteadof",
"namespace",
"new",
"null",
"object",
"old_function",
"or",
"private",
"protected",
"public",
"resource",
"static",
"switch",
"throw",
"trait",
"try",
"true",
"use",
"var",
"while",
"xor",
"die",
"echo",
"empty",
"exit",
"eval",
"include",
"include_once",
"isset",
"list",
"require",
"require_once",
"return",
"print",
"unset",
"yield",
"__construct"
],
phpCompileTimeConstants: [
"__CLASS__",
"__DIR__",
"__FILE__",
"__LINE__",
"__NAMESPACE__",
"__METHOD__",
"__FUNCTION__",
"__TRAIT__"
],
phpPreDefinedVariables: [
"$GLOBALS",
"$_SERVER",
"$_GET",
"$_POST",
"$_FILES",
"$_REQUEST",
"$_SESSION",
"$_ENV",
"$_COOKIE",
"$php_errormsg",
"$HTTP_RAW_POST_DATA",
"$http_response_header",
"$argc",
"$argv"
],
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+140
View File
@@ -0,0 +1,140 @@
define("vs/pla-DbBZgOrT", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["[", "]"],
["<", ">"],
["(", ")"]
],
autoClosingPairs: [
{ open: "[", close: "]" },
{ open: "<", close: ">" },
{ open: "(", close: ")" }
],
surroundingPairs: [
{ open: "[", close: "]" },
{ open: "<", close: ">" },
{ open: "(", close: ")" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".pla",
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "<", close: ">", token: "delimiter.angle" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
".i",
".o",
".mv",
".ilb",
".ob",
".label",
".type",
".phase",
".pair",
".symbolic",
".symbolic-output",
".kiss",
".p",
".e",
".end"
],
// regular expressions
comment: /#.*$/,
identifier: /[a-zA-Z]+[a-zA-Z0-9_\-]*/,
plaContent: /[01\-~\|]+/,
// The main tokenizer for our languages
tokenizer: {
root: [
// comments and whitespace
{ include: "@whitespace" },
[/@comment/, "comment"],
// keyword
[
/\.([a-zA-Z_\-]+)/,
{
cases: {
"@eos": { token: "keyword.$1" },
"@keywords": {
cases: {
".type": { token: "keyword.$1", next: "@type" },
"@default": { token: "keyword.$1", next: "@keywordArg" }
}
},
"@default": { token: "keyword.$1" }
}
}
],
// identifiers
[/@identifier/, "identifier"],
// PLA row
[/@plaContent/, "string"]
],
whitespace: [[/[ \t\r\n]+/, ""]],
type: [{ include: "@whitespace" }, [/\w+/, { token: "type", next: "@pop" }]],
keywordArg: [
// whitespace
[
/[ \t\r\n]+/,
{
cases: {
"@eos": { token: "", next: "@pop" },
"@default": ""
}
}
],
// comments
[/@comment/, "comment", "@pop"],
// brackets
[
/[<>()\[\]]/,
{
cases: {
"@eos": { token: "@brackets", next: "@pop" },
"@default": "@brackets"
}
}
],
// numbers
[
/\-?\d+/,
{
cases: {
"@eos": { token: "number", next: "@pop" },
"@default": "number"
}
}
],
// identifiers
[
/@identifier/,
{
cases: {
"@eos": { token: "identifier", next: "@pop" },
"@default": "identifier"
}
}
],
// delimiter
[
/[;=]/,
{
cases: {
"@eos": { token: "delimiter", next: "@pop" },
"@default": "delimiter"
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+910
View File
@@ -0,0 +1,910 @@
define("vs/postiats-OtZm4COL", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["(*", "*)"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"]
],
autoClosingPairs: [
{ open: '"', close: '"', notIn: ["string", "comment"] },
{ open: "{", close: "}", notIn: ["string", "comment"] },
{ open: "[", close: "]", notIn: ["string", "comment"] },
{ open: "(", close: ")", notIn: ["string", "comment"] }
]
};
const language = {
tokenPostfix: ".pats",
// TODO: staload and dynload are followed by a special kind of string literals
// with {$IDENTIFER} variables, and it also may make sense to highlight
// the punctuation (. and / and \) differently.
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: "invalid",
// keyword reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing_token.dats
keywords: [
//
"abstype",
// ABSTYPE
"abst0ype",
// ABST0YPE
"absprop",
// ABSPROP
"absview",
// ABSVIEW
"absvtype",
// ABSVIEWTYPE
"absviewtype",
// ABSVIEWTYPE
"absvt0ype",
// ABSVIEWT0YPE
"absviewt0ype",
// ABSVIEWT0YPE
//
"as",
// T_AS
//
"and",
// T_AND
//
"assume",
// T_ASSUME
//
"begin",
// T_BEGIN
//
/*
"case", // CASE
*/
//
"classdec",
// T_CLASSDEC
//
"datasort",
// T_DATASORT
//
"datatype",
// DATATYPE
"dataprop",
// DATAPROP
"dataview",
// DATAVIEW
"datavtype",
// DATAVIEWTYPE
"dataviewtype",
// DATAVIEWTYPE
//
"do",
// T_DO
//
"end",
// T_END
//
"extern",
// T_EXTERN
"extype",
// T_EXTYPE
"extvar",
// T_EXTVAR
//
"exception",
// T_EXCEPTION
//
"fn",
// FN // non-recursive
"fnx",
// FNX // mutual tail-rec.
"fun",
// FUN // general-recursive
//
"prfn",
// PRFN
"prfun",
// PRFUN
//
"praxi",
// PRAXI
"castfn",
// CASTFN
//
"if",
// T_IF
"then",
// T_THEN
"else",
// T_ELSE
//
"ifcase",
// T_IFCASE
//
"in",
// T_IN
//
"infix",
// INFIX
"infixl",
// INFIXL
"infixr",
// INFIXR
"prefix",
// PREFIX
"postfix",
// POSTFIX
//
"implmnt",
// IMPLMNT // 0
"implement",
// IMPLEMENT // 1
//
"primplmnt",
// PRIMPLMNT // ~1
"primplement",
// PRIMPLMNT // ~1
//
"import",
// T_IMPORT // for importing packages
//
/*
"lam", // LAM
"llam", // LLAM
"fix", // FIX
*/
//
"let",
// T_LET
//
"local",
// T_LOCAL
//
"macdef",
// MACDEF
"macrodef",
// MACRODEF
//
"nonfix",
// T_NONFIX
//
"symelim",
// T_SYMELIM
"symintr",
// T_SYMINTR
"overload",
// T_OVERLOAD
//
"of",
// T_OF
"op",
// T_OP
//
"rec",
// T_REC
//
"sif",
// T_SIF
"scase",
// T_SCASE
//
"sortdef",
// T_SORTDEF
/*
// HX: [sta] is now deprecated
*/
"sta",
// T_STACST
"stacst",
// T_STACST
"stadef",
// T_STADEF
"static",
// T_STATIC
/*
"stavar", // T_STAVAR
*/
//
"staload",
// T_STALOAD
"dynload",
// T_DYNLOAD
//
"try",
// T_TRY
//
"tkindef",
// T_TKINDEF // HX-2012-05-23
//
/*
"type", // TYPE
*/
"typedef",
// TYPEDEF
"propdef",
// PROPDEF
"viewdef",
// VIEWDEF
"vtypedef",
// VIEWTYPEDEF
"viewtypedef",
// VIEWTYPEDEF
//
/*
"val", // VAL
*/
"prval",
// PRVAL
//
"var",
// VAR
"prvar",
// PRVAR
//
"when",
// T_WHEN
"where",
// T_WHERE
//
/*
"for", // T_FOR
"while", // T_WHILE
*/
//
"with",
// T_WITH
//
"withtype",
// WITHTYPE
"withprop",
// WITHPROP
"withview",
// WITHVIEW
"withvtype",
// WITHVIEWTYPE
"withviewtype"
// WITHVIEWTYPE
//
],
keywords_dlr: [
"$delay",
// DLRDELAY
"$ldelay",
// DLRLDELAY
//
"$arrpsz",
// T_DLRARRPSZ
"$arrptrsize",
// T_DLRARRPSZ
//
"$d2ctype",
// T_DLRD2CTYPE
//
"$effmask",
// DLREFFMASK
"$effmask_ntm",
// DLREFFMASK_NTM
"$effmask_exn",
// DLREFFMASK_EXN
"$effmask_ref",
// DLREFFMASK_REF
"$effmask_wrt",
// DLREFFMASK_WRT
"$effmask_all",
// DLREFFMASK_ALL
//
"$extern",
// T_DLREXTERN
"$extkind",
// T_DLREXTKIND
"$extype",
// T_DLREXTYPE
"$extype_struct",
// T_DLREXTYPE_STRUCT
//
"$extval",
// T_DLREXTVAL
"$extfcall",
// T_DLREXTFCALL
"$extmcall",
// T_DLREXTMCALL
//
"$literal",
// T_DLRLITERAL
//
"$myfilename",
// T_DLRMYFILENAME
"$mylocation",
// T_DLRMYLOCATION
"$myfunction",
// T_DLRMYFUNCTION
//
"$lst",
// DLRLST
"$lst_t",
// DLRLST_T
"$lst_vt",
// DLRLST_VT
"$list",
// DLRLST
"$list_t",
// DLRLST_T
"$list_vt",
// DLRLST_VT
//
"$rec",
// DLRREC
"$rec_t",
// DLRREC_T
"$rec_vt",
// DLRREC_VT
"$record",
// DLRREC
"$record_t",
// DLRREC_T
"$record_vt",
// DLRREC_VT
//
"$tup",
// DLRTUP
"$tup_t",
// DLRTUP_T
"$tup_vt",
// DLRTUP_VT
"$tuple",
// DLRTUP
"$tuple_t",
// DLRTUP_T
"$tuple_vt",
// DLRTUP_VT
//
"$break",
// T_DLRBREAK
"$continue",
// T_DLRCONTINUE
//
"$raise",
// T_DLRRAISE
//
"$showtype",
// T_DLRSHOWTYPE
//
"$vcopyenv_v",
// DLRVCOPYENV_V
"$vcopyenv_vt",
// DLRVCOPYENV_VT
//
"$tempenver",
// T_DLRTEMPENVER
//
"$solver_assert",
// T_DLRSOLASSERT
"$solver_verify"
// T_DLRSOLVERIFY
],
keywords_srp: [
//
"#if",
// T_SRPIF
"#ifdef",
// T_SRPIFDEF
"#ifndef",
// T_SRPIFNDEF
//
"#then",
// T_SRPTHEN
//
"#elif",
// T_SRPELIF
"#elifdef",
// T_SRPELIFDEF
"#elifndef",
// T_SRPELIFNDEF
//
"#else",
// T_SRPELSE
"#endif",
// T_SRPENDIF
//
"#error",
// T_SRPERROR
//
"#prerr",
// T_SRPPRERR // outpui to stderr
"#print",
// T_SRPPRINT // output to stdout
//
"#assert",
// T_SRPASSERT
//
"#undef",
// T_SRPUNDEF
"#define",
// T_SRPDEFINE
//
"#include",
// T_SRPINCLUDE
"#require",
// T_SRPREQUIRE
//
"#pragma",
// T_SRPPRAGMA // HX: general pragma
"#codegen2",
// T_SRPCODEGEN2 // for level-2 codegen
"#codegen3"
// T_SRPCODEGEN3 // for level-3 codegen
//
// HX: end of special tokens
//
],
irregular_keyword_list: [
"val+",
"val-",
"val",
"case+",
"case-",
"case",
"addr@",
"addr",
"fold@",
"free@",
"fix@",
"fix",
"lam@",
"lam",
"llam@",
"llam",
"viewt@ype+",
"viewt@ype-",
"viewt@ype",
"viewtype+",
"viewtype-",
"viewtype",
"view+",
"view-",
"view@",
"view",
"type+",
"type-",
"type",
"vtype+",
"vtype-",
"vtype",
"vt@ype+",
"vt@ype-",
"vt@ype",
"viewt@ype+",
"viewt@ype-",
"viewt@ype",
"viewtype+",
"viewtype-",
"viewtype",
"prop+",
"prop-",
"prop",
"type+",
"type-",
"type",
"t@ype",
"t@ype+",
"t@ype-",
"abst@ype",
"abstype",
"absviewt@ype",
"absvt@ype",
"for*",
"for",
"while*",
"while"
],
keywords_types: [
"bool",
"double",
"byte",
"int",
"short",
"char",
"void",
"unit",
"long",
"float",
"string",
"strptr"
],
// TODO: reference for this?
keywords_effects: [
"0",
// no effects
"fun",
"clo",
"prf",
"funclo",
"cloptr",
"cloref",
"ref",
"ntm",
"1"
// all effects
],
operators: [
"@",
// T_AT
"!",
// T_BANG
"|",
// T_BAR
"`",
// T_BQUOTE
":",
// T_COLON
"$",
// T_DOLLAR
".",
// T_DOT
"=",
// T_EQ
"#",
// T_HASH
"~",
// T_TILDE
//
"..",
// T_DOTDOT
"...",
// T_DOTDOTDOT
//
"=>",
// T_EQGT
// "=<", // T_EQLT
"=<>",
// T_EQLTGT
"=/=>",
// T_EQSLASHEQGT
"=>>",
// T_EQGTGT
"=/=>>",
// T_EQSLASHEQGTGT
//
"<",
// T_LT // opening a tmparg
">",
// T_GT // closing a tmparg
//
"><",
// T_GTLT
//
".<",
// T_DOTLT
">.",
// T_GTDOT
//
".<>.",
// T_DOTLTGTDOT
//
"->",
// T_MINUSGT
//"-<", // T_MINUSLT
"-<>"
// T_MINUSLTGT
//
/*
":<", // T_COLONLT
*/
],
brackets: [
{ open: ",(", close: ")", token: "delimiter.parenthesis" },
// meta-programming syntax
{ open: "`(", close: ")", token: "delimiter.parenthesis" },
{ open: "%(", close: ")", token: "delimiter.parenthesis" },
{ open: "'(", close: ")", token: "delimiter.parenthesis" },
{ open: "'{", close: "}", token: "delimiter.parenthesis" },
{ open: "@(", close: ")", token: "delimiter.parenthesis" },
{ open: "@{", close: "}", token: "delimiter.brace" },
{ open: "@[", close: "]", token: "delimiter.square" },
{ open: "#[", close: "]", token: "delimiter.square" },
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
IDENTFST: /[a-zA-Z_]/,
IDENTRST: /[a-zA-Z0-9_'$]/,
symbolic: /[%&+-./:=@~`^|*!$#?<>]/,
digit: /[0-9]/,
digitseq0: /@digit*/,
xdigit: /[0-9A-Za-z]/,
xdigitseq0: /@xdigit*/,
INTSP: /[lLuU]/,
FLOATSP: /[fFlL]/,
fexponent: /[eE][+-]?[0-9]+/,
fexponent_bin: /[pP][+-]?[0-9]+/,
deciexp: /\.[0-9]*@fexponent?/,
hexiexp: /\.[0-9a-zA-Z]*@fexponent_bin?/,
irregular_keywords: /val[+-]?|case[+-]?|addr\@?|fold\@|free\@|fix\@?|lam\@?|llam\@?|prop[+-]?|type[+-]?|view[+-@]?|viewt@?ype[+-]?|t@?ype[+-]?|v(iew)?t@?ype[+-]?|abst@?ype|absv(iew)?t@?ype|for\*?|while\*?/,
ESCHAR: /[ntvbrfa\\\?'"\(\[\{]/,
start: "root",
// The main tokenizer for ATS/Postiats
// reference: https://github.com/githwxi/ATS-Postiats/blob/master/src/pats_lexing.dats
tokenizer: {
root: [
// lexing_blankseq0
{ regex: /[ \t\r\n]+/, action: { token: "" } },
// NOTE: (*) is an invalid ML-like comment!
{ regex: /\(\*\)/, action: { token: "invalid" } },
{
regex: /\(\*/,
action: { token: "comment", next: "lexing_COMMENT_block_ml" }
},
{
regex: /\(/,
action: "@brackets"
/*{ token: 'delimiter.parenthesis' }*/
},
{
regex: /\)/,
action: "@brackets"
/*{ token: 'delimiter.parenthesis' }*/
},
{
regex: /\[/,
action: "@brackets"
/*{ token: 'delimiter.bracket' }*/
},
{
regex: /\]/,
action: "@brackets"
/*{ token: 'delimiter.bracket' }*/
},
{
regex: /\{/,
action: "@brackets"
/*{ token: 'delimiter.brace' }*/
},
{
regex: /\}/,
action: "@brackets"
/*{ token: 'delimiter.brace' }*/
},
// lexing_COMMA
{
regex: /,\(/,
action: "@brackets"
/*{ token: 'delimiter.parenthesis' }*/
},
// meta-programming syntax
{ regex: /,/, action: { token: "delimiter.comma" } },
{ regex: /;/, action: { token: "delimiter.semicolon" } },
// lexing_AT
{
regex: /@\(/,
action: "@brackets"
/* { token: 'delimiter.parenthesis' }*/
},
{
regex: /@\[/,
action: "@brackets"
/* { token: 'delimiter.bracket' }*/
},
{
regex: /@\{/,
action: "@brackets"
/*{ token: 'delimiter.brace' }*/
},
// lexing_COLON
{
regex: /:</,
action: { token: "keyword", next: "@lexing_EFFECT_commaseq0" }
},
// T_COLONLT
/*
lexing_DOT:
. // SYMBOLIC => lexing_IDENT_sym
. FLOATDOT => lexing_FLOAT_deciexp
. DIGIT => T_DOTINT
*/
{ regex: /\.@symbolic+/, action: { token: "identifier.sym" } },
// FLOATDOT case
{
regex: /\.@digit*@fexponent@FLOATSP*/,
action: { token: "number.float" }
},
{ regex: /\.@digit+/, action: { token: "number.float" } },
// T_DOTINT
// lexing_DOLLAR:
// '$' IDENTFST IDENTRST* => lexing_IDENT_dlr, _ => lexing_IDENT_sym
{
regex: /\$@IDENTFST@IDENTRST*/,
action: {
cases: {
"@keywords_dlr": { token: "keyword.dlr" },
"@default": { token: "namespace" }
// most likely a module qualifier
}
}
},
// lexing_SHARP:
// '#' IDENTFST IDENTRST* => lexing_ident_srp, _ => lexing_IDENT_sym
{
regex: /\#@IDENTFST@IDENTRST*/,
action: {
cases: {
"@keywords_srp": { token: "keyword.srp" },
"@default": { token: "identifier" }
}
}
},
// lexing_PERCENT:
{ regex: /%\(/, action: { token: "delimiter.parenthesis" } },
{
regex: /^%{(#|\^|\$)?/,
action: {
token: "keyword",
next: "@lexing_EXTCODE",
nextEmbedded: "text/javascript"
}
},
{ regex: /^%}/, action: { token: "keyword" } },
// lexing_QUOTE
{ regex: /'\(/, action: { token: "delimiter.parenthesis" } },
{ regex: /'\[/, action: { token: "delimiter.bracket" } },
{ regex: /'\{/, action: { token: "delimiter.brace" } },
[/(')(\\@ESCHAR|\\[xX]@xdigit+|\\@digit+)(')/, ["string", "string.escape", "string"]],
[/'[^\\']'/, "string"],
// lexing_DQUOTE
[/"/, "string.quote", "@lexing_DQUOTE"],
// lexing_BQUOTE
{
regex: /`\(/,
action: "@brackets"
/* { token: 'delimiter.parenthesis' }*/
},
// TODO: otherwise, try lexing_IDENT_sym
{ regex: /\\/, action: { token: "punctuation" } },
// just T_BACKSLASH
// lexing_IDENT_alp:
// NOTE: (?!regex) is syntax for "not-followed-by" regex
// to resolve ambiguity such as foreach$fwork being incorrectly lexed as [for] [each$fwork]!
{
regex: /@irregular_keywords(?!@IDENTRST)/,
action: { token: "keyword" }
},
{
regex: /@IDENTFST@IDENTRST*[<!\[]?/,
action: {
cases: {
// TODO: dynload and staload should be specially parsed
// dynload whitespace+ "special_string"
// this special string is really:
// '/' '\\' '.' => punctuation
// ({\$)([a-zA-Z_][a-zA-Z_0-9]*)(}) => punctuation,keyword,punctuation
// [^"] => identifier/literal
"@keywords": { token: "keyword" },
"@keywords_types": { token: "type" },
"@default": { token: "identifier" }
}
}
},
// lexing_IDENT_sym:
{
regex: /\/\/\/\//,
action: { token: "comment", next: "@lexing_COMMENT_rest" }
},
{ regex: /\/\/.*$/, action: { token: "comment" } },
{
regex: /\/\*/,
action: { token: "comment", next: "@lexing_COMMENT_block_c" }
},
// AS-20160627: specifically for effect annotations
{
regex: /-<|=</,
action: { token: "keyword", next: "@lexing_EFFECT_commaseq0" }
},
{
regex: /@symbolic+/,
action: {
cases: {
"@operators": "keyword",
"@default": "operator"
}
}
},
// lexing_ZERO:
// FIXME: this one is quite messy/unfinished yet
// TODO: lexing_INT_hex
// - testing_hexiexp => lexing_FLOAT_hexiexp
// - testing_fexponent_bin => lexing_FLOAT_hexiexp
// - testing_intspseq0 => T_INT_hex
// lexing_INT_hex:
{
regex: /0[xX]@xdigit+(@hexiexp|@fexponent_bin)@FLOATSP*/,
action: { token: "number.float" }
},
{ regex: /0[xX]@xdigit+@INTSP*/, action: { token: "number.hex" } },
{
regex: /0[0-7]+(?![0-9])@INTSP*/,
action: { token: "number.octal" }
},
// lexing_INT_oct
//{regex: /0/, action: { token: 'number' } }, // INTZERO
// lexing_INT_dec:
// - testing_deciexp => lexing_FLOAT_deciexp
// - testing_fexponent => lexing_FLOAT_deciexp
// - otherwise => intspseq0 ([0-9]*[lLuU]?)
{
regex: /@digit+(@fexponent|@deciexp)@FLOATSP*/,
action: { token: "number.float" }
},
{
regex: /@digit@digitseq0@INTSP*/,
action: { token: "number.decimal" }
},
// DIGIT, if followed by digitseq0, is lexing_INT_dec
{ regex: /@digit+@INTSP*/, action: { token: "number" } }
],
lexing_COMMENT_block_ml: [
[/[^\(\*]+/, "comment"],
[/\(\*/, "comment", "@push"],
[/\(\*/, "comment.invalid"],
[/\*\)/, "comment", "@pop"],
[/\*/, "comment"]
],
lexing_COMMENT_block_c: [
[/[^\/*]+/, "comment"],
// [/\/\*/, 'comment', '@push' ], // nested C-style block comments not allowed
// [/\/\*/, 'comment.invalid' ], // NOTE: this breaks block comments in the shape of /* //*/
[/\*\//, "comment", "@pop"],
[/[\/*]/, "comment"]
],
lexing_COMMENT_rest: [
[/$/, "comment", "@pop"],
// FIXME: does it match? docs say 'no'
[/.*/, "comment"]
],
// NOTE: added by AS, specifically for highlighting
lexing_EFFECT_commaseq0: [
{
regex: /@IDENTFST@IDENTRST+|@digit+/,
action: {
cases: {
"@keywords_effects": { token: "type.effect" },
"@default": { token: "identifier" }
}
}
},
{ regex: /,/, action: { token: "punctuation" } },
{ regex: />/, action: { token: "@rematch", next: "@pop" } }
],
lexing_EXTCODE: [
{
regex: /^%}/,
action: {
token: "@rematch",
next: "@pop",
nextEmbedded: "@pop"
}
},
{ regex: /[^%]+/, action: "" }
],
lexing_DQUOTE: [
{ regex: /"/, action: { token: "string.quote", next: "@pop" } },
// AS-20160628: additional hi-lighting for variables in staload/dynload strings
{
regex: /(\{\$)(@IDENTFST@IDENTRST*)(\})/,
action: [{ token: "string.escape" }, { token: "identifier" }, { token: "string.escape" }]
},
{ regex: /\\$/, action: { token: "string.escape" } },
{
regex: /\\(@ESCHAR|[xX]@xdigit+|@digit+)/,
action: { token: "string.escape" }
},
{ regex: /[^\\"]+/, action: { token: "string" } }
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+893
View File
@@ -0,0 +1,893 @@
define("vs/powerquery-Du80-tps", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["[", "]"],
["(", ")"],
["{", "}"]
],
autoClosingPairs: [
{ open: '"', close: '"', notIn: ["string", "comment", "identifier"] },
{ open: "[", close: "]", notIn: ["string", "comment", "identifier"] },
{ open: "(", close: ")", notIn: ["string", "comment", "identifier"] },
{ open: "{", close: "}", notIn: ["string", "comment", "identifier"] }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".pq",
ignoreCase: false,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "{", close: "}", token: "delimiter.brackets" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
operatorKeywords: ["and", "not", "or"],
keywords: [
"as",
"each",
"else",
"error",
"false",
"if",
"in",
"is",
"let",
"meta",
"otherwise",
"section",
"shared",
"then",
"true",
"try",
"type"
],
constructors: ["#binary", "#date", "#datetime", "#datetimezone", "#duration", "#table", "#time"],
constants: ["#infinity", "#nan", "#sections", "#shared"],
typeKeywords: [
"action",
"any",
"anynonnull",
"none",
"null",
"logical",
"number",
"time",
"date",
"datetime",
"datetimezone",
"duration",
"text",
"binary",
"list",
"record",
"table",
"function"
],
builtinFunctions: [
"Access.Database",
"Action.Return",
"Action.Sequence",
"Action.Try",
"ActiveDirectory.Domains",
"AdoDotNet.DataSource",
"AdoDotNet.Query",
"AdobeAnalytics.Cubes",
"AnalysisServices.Database",
"AnalysisServices.Databases",
"AzureStorage.BlobContents",
"AzureStorage.Blobs",
"AzureStorage.Tables",
"Binary.Buffer",
"Binary.Combine",
"Binary.Compress",
"Binary.Decompress",
"Binary.End",
"Binary.From",
"Binary.FromList",
"Binary.FromText",
"Binary.InferContentType",
"Binary.Length",
"Binary.ToList",
"Binary.ToText",
"BinaryFormat.7BitEncodedSignedInteger",
"BinaryFormat.7BitEncodedUnsignedInteger",
"BinaryFormat.Binary",
"BinaryFormat.Byte",
"BinaryFormat.ByteOrder",
"BinaryFormat.Choice",
"BinaryFormat.Decimal",
"BinaryFormat.Double",
"BinaryFormat.Group",
"BinaryFormat.Length",
"BinaryFormat.List",
"BinaryFormat.Null",
"BinaryFormat.Record",
"BinaryFormat.SignedInteger16",
"BinaryFormat.SignedInteger32",
"BinaryFormat.SignedInteger64",
"BinaryFormat.Single",
"BinaryFormat.Text",
"BinaryFormat.Transform",
"BinaryFormat.UnsignedInteger16",
"BinaryFormat.UnsignedInteger32",
"BinaryFormat.UnsignedInteger64",
"Byte.From",
"Character.FromNumber",
"Character.ToNumber",
"Combiner.CombineTextByDelimiter",
"Combiner.CombineTextByEachDelimiter",
"Combiner.CombineTextByLengths",
"Combiner.CombineTextByPositions",
"Combiner.CombineTextByRanges",
"Comparer.Equals",
"Comparer.FromCulture",
"Comparer.Ordinal",
"Comparer.OrdinalIgnoreCase",
"Csv.Document",
"Cube.AddAndExpandDimensionColumn",
"Cube.AddMeasureColumn",
"Cube.ApplyParameter",
"Cube.AttributeMemberId",
"Cube.AttributeMemberProperty",
"Cube.CollapseAndRemoveColumns",
"Cube.Dimensions",
"Cube.DisplayFolders",
"Cube.Measures",
"Cube.Parameters",
"Cube.Properties",
"Cube.PropertyKey",
"Cube.ReplaceDimensions",
"Cube.Transform",
"Currency.From",
"DB2.Database",
"Date.AddDays",
"Date.AddMonths",
"Date.AddQuarters",
"Date.AddWeeks",
"Date.AddYears",
"Date.Day",
"Date.DayOfWeek",
"Date.DayOfWeekName",
"Date.DayOfYear",
"Date.DaysInMonth",
"Date.EndOfDay",
"Date.EndOfMonth",
"Date.EndOfQuarter",
"Date.EndOfWeek",
"Date.EndOfYear",
"Date.From",
"Date.FromText",
"Date.IsInCurrentDay",
"Date.IsInCurrentMonth",
"Date.IsInCurrentQuarter",
"Date.IsInCurrentWeek",
"Date.IsInCurrentYear",
"Date.IsInNextDay",
"Date.IsInNextMonth",
"Date.IsInNextNDays",
"Date.IsInNextNMonths",
"Date.IsInNextNQuarters",
"Date.IsInNextNWeeks",
"Date.IsInNextNYears",
"Date.IsInNextQuarter",
"Date.IsInNextWeek",
"Date.IsInNextYear",
"Date.IsInPreviousDay",
"Date.IsInPreviousMonth",
"Date.IsInPreviousNDays",
"Date.IsInPreviousNMonths",
"Date.IsInPreviousNQuarters",
"Date.IsInPreviousNWeeks",
"Date.IsInPreviousNYears",
"Date.IsInPreviousQuarter",
"Date.IsInPreviousWeek",
"Date.IsInPreviousYear",
"Date.IsInYearToDate",
"Date.IsLeapYear",
"Date.Month",
"Date.MonthName",
"Date.QuarterOfYear",
"Date.StartOfDay",
"Date.StartOfMonth",
"Date.StartOfQuarter",
"Date.StartOfWeek",
"Date.StartOfYear",
"Date.ToRecord",
"Date.ToText",
"Date.WeekOfMonth",
"Date.WeekOfYear",
"Date.Year",
"DateTime.AddZone",
"DateTime.Date",
"DateTime.FixedLocalNow",
"DateTime.From",
"DateTime.FromFileTime",
"DateTime.FromText",
"DateTime.IsInCurrentHour",
"DateTime.IsInCurrentMinute",
"DateTime.IsInCurrentSecond",
"DateTime.IsInNextHour",
"DateTime.IsInNextMinute",
"DateTime.IsInNextNHours",
"DateTime.IsInNextNMinutes",
"DateTime.IsInNextNSeconds",
"DateTime.IsInNextSecond",
"DateTime.IsInPreviousHour",
"DateTime.IsInPreviousMinute",
"DateTime.IsInPreviousNHours",
"DateTime.IsInPreviousNMinutes",
"DateTime.IsInPreviousNSeconds",
"DateTime.IsInPreviousSecond",
"DateTime.LocalNow",
"DateTime.Time",
"DateTime.ToRecord",
"DateTime.ToText",
"DateTimeZone.FixedLocalNow",
"DateTimeZone.FixedUtcNow",
"DateTimeZone.From",
"DateTimeZone.FromFileTime",
"DateTimeZone.FromText",
"DateTimeZone.LocalNow",
"DateTimeZone.RemoveZone",
"DateTimeZone.SwitchZone",
"DateTimeZone.ToLocal",
"DateTimeZone.ToRecord",
"DateTimeZone.ToText",
"DateTimeZone.ToUtc",
"DateTimeZone.UtcNow",
"DateTimeZone.ZoneHours",
"DateTimeZone.ZoneMinutes",
"Decimal.From",
"Diagnostics.ActivityId",
"Diagnostics.Trace",
"DirectQueryCapabilities.From",
"Double.From",
"Duration.Days",
"Duration.From",
"Duration.FromText",
"Duration.Hours",
"Duration.Minutes",
"Duration.Seconds",
"Duration.ToRecord",
"Duration.ToText",
"Duration.TotalDays",
"Duration.TotalHours",
"Duration.TotalMinutes",
"Duration.TotalSeconds",
"Embedded.Value",
"Error.Record",
"Excel.CurrentWorkbook",
"Excel.Workbook",
"Exchange.Contents",
"Expression.Constant",
"Expression.Evaluate",
"Expression.Identifier",
"Facebook.Graph",
"File.Contents",
"Folder.Contents",
"Folder.Files",
"Function.From",
"Function.Invoke",
"Function.InvokeAfter",
"Function.IsDataSource",
"GoogleAnalytics.Accounts",
"Guid.From",
"HdInsight.Containers",
"HdInsight.Contents",
"HdInsight.Files",
"Hdfs.Contents",
"Hdfs.Files",
"Informix.Database",
"Int16.From",
"Int32.From",
"Int64.From",
"Int8.From",
"ItemExpression.From",
"Json.Document",
"Json.FromValue",
"Lines.FromBinary",
"Lines.FromText",
"Lines.ToBinary",
"Lines.ToText",
"List.Accumulate",
"List.AllTrue",
"List.Alternate",
"List.AnyTrue",
"List.Average",
"List.Buffer",
"List.Combine",
"List.Contains",
"List.ContainsAll",
"List.ContainsAny",
"List.Count",
"List.Covariance",
"List.DateTimeZones",
"List.DateTimes",
"List.Dates",
"List.Difference",
"List.Distinct",
"List.Durations",
"List.FindText",
"List.First",
"List.FirstN",
"List.Generate",
"List.InsertRange",
"List.Intersect",
"List.IsDistinct",
"List.IsEmpty",
"List.Last",
"List.LastN",
"List.MatchesAll",
"List.MatchesAny",
"List.Max",
"List.MaxN",
"List.Median",
"List.Min",
"List.MinN",
"List.Mode",
"List.Modes",
"List.NonNullCount",
"List.Numbers",
"List.PositionOf",
"List.PositionOfAny",
"List.Positions",
"List.Product",
"List.Random",
"List.Range",
"List.RemoveFirstN",
"List.RemoveItems",
"List.RemoveLastN",
"List.RemoveMatchingItems",
"List.RemoveNulls",
"List.RemoveRange",
"List.Repeat",
"List.ReplaceMatchingItems",
"List.ReplaceRange",
"List.ReplaceValue",
"List.Reverse",
"List.Select",
"List.Single",
"List.SingleOrDefault",
"List.Skip",
"List.Sort",
"List.StandardDeviation",
"List.Sum",
"List.Times",
"List.Transform",
"List.TransformMany",
"List.Union",
"List.Zip",
"Logical.From",
"Logical.FromText",
"Logical.ToText",
"MQ.Queue",
"MySQL.Database",
"Number.Abs",
"Number.Acos",
"Number.Asin",
"Number.Atan",
"Number.Atan2",
"Number.BitwiseAnd",
"Number.BitwiseNot",
"Number.BitwiseOr",
"Number.BitwiseShiftLeft",
"Number.BitwiseShiftRight",
"Number.BitwiseXor",
"Number.Combinations",
"Number.Cos",
"Number.Cosh",
"Number.Exp",
"Number.Factorial",
"Number.From",
"Number.FromText",
"Number.IntegerDivide",
"Number.IsEven",
"Number.IsNaN",
"Number.IsOdd",
"Number.Ln",
"Number.Log",
"Number.Log10",
"Number.Mod",
"Number.Permutations",
"Number.Power",
"Number.Random",
"Number.RandomBetween",
"Number.Round",
"Number.RoundAwayFromZero",
"Number.RoundDown",
"Number.RoundTowardZero",
"Number.RoundUp",
"Number.Sign",
"Number.Sin",
"Number.Sinh",
"Number.Sqrt",
"Number.Tan",
"Number.Tanh",
"Number.ToText",
"OData.Feed",
"Odbc.DataSource",
"Odbc.Query",
"OleDb.DataSource",
"OleDb.Query",
"Oracle.Database",
"Percentage.From",
"PostgreSQL.Database",
"RData.FromBinary",
"Record.AddField",
"Record.Combine",
"Record.Field",
"Record.FieldCount",
"Record.FieldNames",
"Record.FieldOrDefault",
"Record.FieldValues",
"Record.FromList",
"Record.FromTable",
"Record.HasFields",
"Record.RemoveFields",
"Record.RenameFields",
"Record.ReorderFields",
"Record.SelectFields",
"Record.ToList",
"Record.ToTable",
"Record.TransformFields",
"Replacer.ReplaceText",
"Replacer.ReplaceValue",
"RowExpression.Column",
"RowExpression.From",
"Salesforce.Data",
"Salesforce.Reports",
"SapBusinessWarehouse.Cubes",
"SapHana.Database",
"SharePoint.Contents",
"SharePoint.Files",
"SharePoint.Tables",
"Single.From",
"Soda.Feed",
"Splitter.SplitByNothing",
"Splitter.SplitTextByAnyDelimiter",
"Splitter.SplitTextByDelimiter",
"Splitter.SplitTextByEachDelimiter",
"Splitter.SplitTextByLengths",
"Splitter.SplitTextByPositions",
"Splitter.SplitTextByRanges",
"Splitter.SplitTextByRepeatedLengths",
"Splitter.SplitTextByWhitespace",
"Sql.Database",
"Sql.Databases",
"SqlExpression.SchemaFrom",
"SqlExpression.ToExpression",
"Sybase.Database",
"Table.AddColumn",
"Table.AddIndexColumn",
"Table.AddJoinColumn",
"Table.AddKey",
"Table.AggregateTableColumn",
"Table.AlternateRows",
"Table.Buffer",
"Table.Column",
"Table.ColumnCount",
"Table.ColumnNames",
"Table.ColumnsOfType",
"Table.Combine",
"Table.CombineColumns",
"Table.Contains",
"Table.ContainsAll",
"Table.ContainsAny",
"Table.DemoteHeaders",
"Table.Distinct",
"Table.DuplicateColumn",
"Table.ExpandListColumn",
"Table.ExpandRecordColumn",
"Table.ExpandTableColumn",
"Table.FillDown",
"Table.FillUp",
"Table.FilterWithDataTable",
"Table.FindText",
"Table.First",
"Table.FirstN",
"Table.FirstValue",
"Table.FromColumns",
"Table.FromList",
"Table.FromPartitions",
"Table.FromRecords",
"Table.FromRows",
"Table.FromValue",
"Table.Group",
"Table.HasColumns",
"Table.InsertRows",
"Table.IsDistinct",
"Table.IsEmpty",
"Table.Join",
"Table.Keys",
"Table.Last",
"Table.LastN",
"Table.MatchesAllRows",
"Table.MatchesAnyRows",
"Table.Max",
"Table.MaxN",
"Table.Min",
"Table.MinN",
"Table.NestedJoin",
"Table.Partition",
"Table.PartitionValues",
"Table.Pivot",
"Table.PositionOf",
"Table.PositionOfAny",
"Table.PrefixColumns",
"Table.Profile",
"Table.PromoteHeaders",
"Table.Range",
"Table.RemoveColumns",
"Table.RemoveFirstN",
"Table.RemoveLastN",
"Table.RemoveMatchingRows",
"Table.RemoveRows",
"Table.RemoveRowsWithErrors",
"Table.RenameColumns",
"Table.ReorderColumns",
"Table.Repeat",
"Table.ReplaceErrorValues",
"Table.ReplaceKeys",
"Table.ReplaceMatchingRows",
"Table.ReplaceRelationshipIdentity",
"Table.ReplaceRows",
"Table.ReplaceValue",
"Table.ReverseRows",
"Table.RowCount",
"Table.Schema",
"Table.SelectColumns",
"Table.SelectRows",
"Table.SelectRowsWithErrors",
"Table.SingleRow",
"Table.Skip",
"Table.Sort",
"Table.SplitColumn",
"Table.ToColumns",
"Table.ToList",
"Table.ToRecords",
"Table.ToRows",
"Table.TransformColumnNames",
"Table.TransformColumnTypes",
"Table.TransformColumns",
"Table.TransformRows",
"Table.Transpose",
"Table.Unpivot",
"Table.UnpivotOtherColumns",
"Table.View",
"Table.ViewFunction",
"TableAction.DeleteRows",
"TableAction.InsertRows",
"TableAction.UpdateRows",
"Tables.GetRelationships",
"Teradata.Database",
"Text.AfterDelimiter",
"Text.At",
"Text.BeforeDelimiter",
"Text.BetweenDelimiters",
"Text.Clean",
"Text.Combine",
"Text.Contains",
"Text.End",
"Text.EndsWith",
"Text.Format",
"Text.From",
"Text.FromBinary",
"Text.Insert",
"Text.Length",
"Text.Lower",
"Text.Middle",
"Text.NewGuid",
"Text.PadEnd",
"Text.PadStart",
"Text.PositionOf",
"Text.PositionOfAny",
"Text.Proper",
"Text.Range",
"Text.Remove",
"Text.RemoveRange",
"Text.Repeat",
"Text.Replace",
"Text.ReplaceRange",
"Text.Select",
"Text.Split",
"Text.SplitAny",
"Text.Start",
"Text.StartsWith",
"Text.ToBinary",
"Text.ToList",
"Text.Trim",
"Text.TrimEnd",
"Text.TrimStart",
"Text.Upper",
"Time.EndOfHour",
"Time.From",
"Time.FromText",
"Time.Hour",
"Time.Minute",
"Time.Second",
"Time.StartOfHour",
"Time.ToRecord",
"Time.ToText",
"Type.AddTableKey",
"Type.ClosedRecord",
"Type.Facets",
"Type.ForFunction",
"Type.ForRecord",
"Type.FunctionParameters",
"Type.FunctionRequiredParameters",
"Type.FunctionReturn",
"Type.Is",
"Type.IsNullable",
"Type.IsOpenRecord",
"Type.ListItem",
"Type.NonNullable",
"Type.OpenRecord",
"Type.RecordFields",
"Type.ReplaceFacets",
"Type.ReplaceTableKeys",
"Type.TableColumn",
"Type.TableKeys",
"Type.TableRow",
"Type.TableSchema",
"Type.Union",
"Uri.BuildQueryString",
"Uri.Combine",
"Uri.EscapeDataString",
"Uri.Parts",
"Value.Add",
"Value.As",
"Value.Compare",
"Value.Divide",
"Value.Equals",
"Value.Firewall",
"Value.FromText",
"Value.Is",
"Value.Metadata",
"Value.Multiply",
"Value.NativeQuery",
"Value.NullableEquals",
"Value.RemoveMetadata",
"Value.ReplaceMetadata",
"Value.ReplaceType",
"Value.Subtract",
"Value.Type",
"ValueAction.NativeStatement",
"ValueAction.Replace",
"Variable.Value",
"Web.Contents",
"Web.Page",
"WebAction.Request",
"Xml.Document",
"Xml.Tables"
],
builtinConstants: [
"BinaryEncoding.Base64",
"BinaryEncoding.Hex",
"BinaryOccurrence.Optional",
"BinaryOccurrence.Repeating",
"BinaryOccurrence.Required",
"ByteOrder.BigEndian",
"ByteOrder.LittleEndian",
"Compression.Deflate",
"Compression.GZip",
"CsvStyle.QuoteAfterDelimiter",
"CsvStyle.QuoteAlways",
"Culture.Current",
"Day.Friday",
"Day.Monday",
"Day.Saturday",
"Day.Sunday",
"Day.Thursday",
"Day.Tuesday",
"Day.Wednesday",
"ExtraValues.Error",
"ExtraValues.Ignore",
"ExtraValues.List",
"GroupKind.Global",
"GroupKind.Local",
"JoinAlgorithm.Dynamic",
"JoinAlgorithm.LeftHash",
"JoinAlgorithm.LeftIndex",
"JoinAlgorithm.PairwiseHash",
"JoinAlgorithm.RightHash",
"JoinAlgorithm.RightIndex",
"JoinAlgorithm.SortMerge",
"JoinKind.FullOuter",
"JoinKind.Inner",
"JoinKind.LeftAnti",
"JoinKind.LeftOuter",
"JoinKind.RightAnti",
"JoinKind.RightOuter",
"JoinSide.Left",
"JoinSide.Right",
"MissingField.Error",
"MissingField.Ignore",
"MissingField.UseNull",
"Number.E",
"Number.Epsilon",
"Number.NaN",
"Number.NegativeInfinity",
"Number.PI",
"Number.PositiveInfinity",
"Occurrence.All",
"Occurrence.First",
"Occurrence.Last",
"Occurrence.Optional",
"Occurrence.Repeating",
"Occurrence.Required",
"Order.Ascending",
"Order.Descending",
"Precision.Decimal",
"Precision.Double",
"QuoteStyle.Csv",
"QuoteStyle.None",
"RelativePosition.FromEnd",
"RelativePosition.FromStart",
"RoundingMode.AwayFromZero",
"RoundingMode.Down",
"RoundingMode.ToEven",
"RoundingMode.TowardZero",
"RoundingMode.Up",
"SapHanaDistribution.All",
"SapHanaDistribution.Connection",
"SapHanaDistribution.Off",
"SapHanaDistribution.Statement",
"SapHanaRangeOperator.Equals",
"SapHanaRangeOperator.GreaterThan",
"SapHanaRangeOperator.GreaterThanOrEquals",
"SapHanaRangeOperator.LessThan",
"SapHanaRangeOperator.LessThanOrEquals",
"SapHanaRangeOperator.NotEquals",
"TextEncoding.Ascii",
"TextEncoding.BigEndianUnicode",
"TextEncoding.Unicode",
"TextEncoding.Utf16",
"TextEncoding.Utf8",
"TextEncoding.Windows",
"TraceLevel.Critical",
"TraceLevel.Error",
"TraceLevel.Information",
"TraceLevel.Verbose",
"TraceLevel.Warning",
"WebMethod.Delete",
"WebMethod.Get",
"WebMethod.Head",
"WebMethod.Patch",
"WebMethod.Post",
"WebMethod.Put"
],
builtinTypes: [
"Action.Type",
"Any.Type",
"Binary.Type",
"BinaryEncoding.Type",
"BinaryOccurrence.Type",
"Byte.Type",
"ByteOrder.Type",
"Character.Type",
"Compression.Type",
"CsvStyle.Type",
"Currency.Type",
"Date.Type",
"DateTime.Type",
"DateTimeZone.Type",
"Day.Type",
"Decimal.Type",
"Double.Type",
"Duration.Type",
"ExtraValues.Type",
"Function.Type",
"GroupKind.Type",
"Guid.Type",
"Int16.Type",
"Int32.Type",
"Int64.Type",
"Int8.Type",
"JoinAlgorithm.Type",
"JoinKind.Type",
"JoinSide.Type",
"List.Type",
"Logical.Type",
"MissingField.Type",
"None.Type",
"Null.Type",
"Number.Type",
"Occurrence.Type",
"Order.Type",
"Password.Type",
"Percentage.Type",
"Precision.Type",
"QuoteStyle.Type",
"Record.Type",
"RelativePosition.Type",
"RoundingMode.Type",
"SapHanaDistribution.Type",
"SapHanaRangeOperator.Type",
"Single.Type",
"Table.Type",
"Text.Type",
"TextEncoding.Type",
"Time.Type",
"TraceLevel.Type",
"Type.Type",
"Uri.Type",
"WebMethod.Type"
],
tokenizer: {
root: [
// quoted identifier
[/#"[\w \.]+"/, "identifier.quote"],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/\d+([eE][\-+]?\d+)?/, "number"],
// keywords
[
/(#?[a-z]+)\b/,
{
cases: {
"@typeKeywords": "type",
"@keywords": "keyword",
"@constants": "constant",
"@constructors": "constructor",
"@operatorKeywords": "operators",
"@default": "identifier"
}
}
],
// built-in types
[
/\b([A-Z][a-zA-Z0-9]+\.Type)\b/,
{
cases: {
"@builtinTypes": "type",
"@default": "identifier"
}
}
],
// other built-ins
[
/\b([A-Z][a-zA-Z0-9]+\.[A-Z][a-zA-Z0-9]+)\b/,
{
cases: {
"@builtinFunctions": "keyword.function",
"@builtinConstants": "constant",
"@default": "identifier"
}
}
],
// other identifiers
[/\b([a-zA-Z_][\w\.]*)\b/, "identifier"],
{ include: "@whitespace" },
{ include: "@comments" },
{ include: "@strings" },
[/[{}()\[\]]/, "@brackets"],
[/([=\+<>\-\*&@\?\/!])|([<>]=)|(<>)|(=>)|(\.\.\.)|(\.\.)/, "operators"],
[/[,;]/, "delimiter"]
],
whitespace: [[/\s+/, "white"]],
comments: [
["\\/\\*", "comment", "@comment"],
["\\/\\/+.*", "comment"]
],
comment: [
["\\*\\/", "comment", "@pop"],
[".", "comment"]
],
strings: [['"', "string", "@string"]],
string: [
['""', "string.escape"],
['"', "string", "@pop"],
[".", "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+242
View File
@@ -0,0 +1,242 @@
define("vs/powershell-mk7ECzLJ", ["exports"], (function(exports) {
"use strict";
const conf = {
// the default separators except `$-`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: "#",
blockComment: ["<#", "#>"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
folding: {
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
const language = {
defaultToken: "",
ignoreCase: true,
tokenPostfix: ".ps1",
brackets: [
{ token: "delimiter.curly", open: "{", close: "}" },
{ token: "delimiter.square", open: "[", close: "]" },
{ token: "delimiter.parenthesis", open: "(", close: ")" }
],
keywords: [
"begin",
"break",
"catch",
"class",
"continue",
"data",
"define",
"do",
"dynamicparam",
"else",
"elseif",
"end",
"exit",
"filter",
"finally",
"for",
"foreach",
"from",
"function",
"if",
"in",
"param",
"process",
"return",
"switch",
"throw",
"trap",
"try",
"until",
"using",
"var",
"while",
"workflow",
"parallel",
"sequence",
"inlinescript",
"configuration"
],
helpKeywords: /SYNOPSIS|DESCRIPTION|PARAMETER|EXAMPLE|INPUTS|OUTPUTS|NOTES|LINK|COMPONENT|ROLE|FUNCTIONALITY|FORWARDHELPTARGETNAME|FORWARDHELPCATEGORY|REMOTEHELPRUNSPACE|EXTERNALHELP/,
// we include these common regular expressions
symbols: /[=><!~?&%|+\-*\/\^;\.,]+/,
escapes: /`(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
// The main tokenizer for our languages
tokenizer: {
root: [
// commands and keywords
[
/[a-zA-Z_][\w-]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": ""
}
}
],
// whitespace
[/[ \t\r\n]+/, ""],
// labels
[/^:\w*/, "metatag"],
// variables
[
/\$(\{((global|local|private|script|using):)?[\w]+\}|((global|local|private|script|using):)?[\w]+)/,
"variable"
],
// Comments
[/<#/, "comment", "@comment"],
[/#.*$/, "comment"],
// delimiters
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/, "number.hex"],
[/\d+?/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings:
[/\@"/, "string", '@herestring."'],
[/\@'/, "string", "@herestring.'"],
[
/"/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: '@string."' }
}
}
],
[
/'/,
{
cases: {
"@eos": "string",
"@default": { token: "string", next: "@string.'" }
}
}
]
],
string: [
[
/[^"'\$`]+/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[
/@escapes/,
{
cases: {
"@eos": { token: "string.escape", next: "@popall" },
"@default": "string.escape"
}
}
],
[
/`./,
{
cases: {
"@eos": {
token: "string.escape.invalid",
next: "@popall"
},
"@default": "string.escape.invalid"
}
}
],
[
/\$[\w]+$/,
{
cases: {
'$S2=="': { token: "variable", next: "@popall" },
"@default": { token: "string", next: "@popall" }
}
}
],
[
/\$[\w]+/,
{
cases: {
'$S2=="': "variable",
"@default": "string"
}
}
],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": {
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
}
}
]
],
herestring: [
[
/^\s*(["'])@/,
{
cases: {
"$1==$S2": { token: "string", next: "@pop" },
"@default": "string"
}
}
],
[/[^\$`]+/, "string"],
[/@escapes/, "string.escape"],
[/`./, "string.escape.invalid"],
[
/\$[\w]+/,
{
cases: {
'$S2=="': "variable",
"@default": "string"
}
}
]
],
comment: [
[/[^#\.]+/, "comment"],
[/#>/, "comment", "@pop"],
[/(\.)(@helpKeywords)(?!\w)/, { token: "comment.keyword.$2" }],
[/[\.#]/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+423
View File
@@ -0,0 +1,423 @@
define("vs/protobuf-Bn1ftnRe", ["exports"], (function(exports) {
"use strict";
const namedLiterals = ["true", "false"];
const conf = {
comments: {
lineComment: "//",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"],
["<", ">"]
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: "<", close: ">" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string"] }
],
autoCloseBefore: ".,=}])>' \n ",
indentationRules: {
increaseIndentPattern: new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),
decreaseIndentPattern: new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")
}
};
const language = {
defaultToken: "",
tokenPostfix: ".proto",
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" },
{ open: "<", close: ">", token: "delimiter.angle" }
],
symbols: /[=><!~?:&|+\-*/^%]+/,
keywords: [
"syntax",
"import",
"weak",
"public",
"package",
"option",
"repeated",
"oneof",
"map",
"reserved",
"to",
"max",
"enum",
"message",
"service",
"rpc",
"stream",
"returns",
"package",
"optional",
"true",
"false"
],
builtinTypes: [
"double",
"float",
"int32",
"int64",
"uint32",
"uint64",
"sint32",
"sint64",
"fixed32",
"fixed64",
"sfixed32",
"sfixed64",
"bool",
"string",
"bytes"
],
operators: ["=", "+", "-"],
namedLiterals,
escapes: `\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\\${)`,
identifier: /[a-zA-Z]\w*/,
fullIdentifier: /@identifier(?:\s*\.\s*@identifier)*/,
optionName: /(?:@identifier|\(\s*@fullIdentifier\s*\))(?:\s*\.\s*@identifier)*/,
messageName: /@identifier/,
enumName: /@identifier/,
messageType: /\.?\s*(?:@identifier\s*\.\s*)*@messageName/,
enumType: /\.?\s*(?:@identifier\s*\.\s*)*@enumName/,
floatLit: /[0-9]+\s*\.\s*[0-9]*(?:@exponent)?|[0-9]+@exponent|\.[0-9]+(?:@exponent)?/,
exponent: /[eE]\s*[+-]?\s*[0-9]+/,
boolLit: /true\b|false\b/,
decimalLit: /[1-9][0-9]*/,
octalLit: /0[0-7]*/,
hexLit: /0[xX][0-9a-fA-F]+/,
type: /double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes|@messageType|@enumType/,
keyType: /int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string/,
tokenizer: {
root: [
{ include: "@whitespace" },
[/syntax/, "keyword"],
[/=/, "operators"],
[/;/, "delimiter"],
[
/(")(proto3)(")/,
["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto3" }]
],
[
/(")(proto2)(")/,
["string.quote", "string", { token: "string.quote", switchTo: "@topLevel.proto2" }]
],
[
// If no `syntax` provided, regarded as proto2
/.*?/,
{ token: "", switchTo: "@topLevel.proto2" }
]
],
topLevel: [
// whitespace
{ include: "@whitespace" },
{ include: "@constant" },
[/=/, "operators"],
[/[;.]/, "delimiter"],
[
/@fullIdentifier/,
{
cases: {
option: { token: "keyword", next: "@option.$S2" },
enum: { token: "keyword", next: "@enumDecl.$S2" },
message: { token: "keyword", next: "@messageDecl.$S2" },
service: { token: "keyword", next: "@serviceDecl.$S2" },
extend: {
cases: {
"$S2==proto2": { token: "keyword", next: "@extendDecl.$S2" }
}
},
"@keywords": "keyword",
"@default": "identifier"
}
}
]
],
enumDecl: [
{ include: "@whitespace" },
[/@identifier/, "type.identifier"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@enumBody.$S2" }]
],
enumBody: [
{ include: "@whitespace" },
{ include: "@constant" },
[/=/, "operators"],
[/;/, "delimiter"],
[/option\b/, "keyword", "@option.$S2"],
[/@identifier/, "identifier"],
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
messageDecl: [
{ include: "@whitespace" },
[/@identifier/, "type.identifier"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }]
],
messageBody: [
{ include: "@whitespace" },
{ include: "@constant" },
[/=/, "operators"],
[/;/, "delimiter"],
[
"(map)(s*)(<)",
["keyword", "white", { token: "@brackets", bracket: "@open", next: "@map.$S2" }]
],
[
/@identifier/,
{
cases: {
option: { token: "keyword", next: "@option.$S2" },
enum: { token: "keyword", next: "@enumDecl.$S2" },
message: { token: "keyword", next: "@messageDecl.$S2" },
oneof: { token: "keyword", next: "@oneofDecl.$S2" },
extensions: {
cases: {
"$S2==proto2": { token: "keyword", next: "@reserved.$S2" }
}
},
reserved: { token: "keyword", next: "@reserved.$S2" },
"(?:repeated|optional)": { token: "keyword", next: "@field.$S2" },
required: {
cases: {
"$S2==proto2": { token: "keyword", next: "@field.$S2" }
}
},
"$S2==proto3": { token: "@rematch", next: "@field.$S2" }
}
}
],
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
extendDecl: [
{ include: "@whitespace" },
[/@identifier/, "type.identifier"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@extendBody.$S2" }]
],
extendBody: [
{ include: "@whitespace" },
{ include: "@constant" },
[/;/, "delimiter"],
[/(?:repeated|optional|required)/, "keyword", "@field.$S2"],
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
options: [
{ include: "@whitespace" },
{ include: "@constant" },
[/;/, "delimiter"],
[/@optionName/, "annotation"],
[/[()]/, "annotation.brackets"],
[/=/, "operator"],
[/\]/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
option: [
{ include: "@whitespace" },
[/@optionName/, "annotation"],
[/[()]/, "annotation.brackets"],
[/=/, "operator", "@pop"]
],
oneofDecl: [
{ include: "@whitespace" },
[/@identifier/, "identifier"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@oneofBody.$S2" }]
],
oneofBody: [
{ include: "@whitespace" },
{ include: "@constant" },
[/;/, "delimiter"],
[/(@identifier)(\s*)(=)/, ["identifier", "white", "delimiter"]],
[
/@fullIdentifier|\./,
{
cases: {
"@builtinTypes": "keyword",
"@default": "type.identifier"
}
}
],
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
reserved: [
{ include: "@whitespace" },
[/,/, "delimiter"],
[/;/, "delimiter", "@pop"],
{ include: "@constant" },
[/to\b|max\b/, "keyword"]
],
map: [
{ include: "@whitespace" },
[
/@fullIdentifier|\./,
{
cases: {
"@builtinTypes": "keyword",
"@default": "type.identifier"
}
}
],
[/,/, "delimiter"],
[/>/, { token: "@brackets", bracket: "@close", switchTo: "identifier" }]
],
field: [
{ include: "@whitespace" },
[
"group",
{
cases: {
"$S2==proto2": { token: "keyword", switchTo: "@groupDecl.$S2" }
}
}
],
[/(@identifier)(\s*)(=)/, ["identifier", "white", { token: "delimiter", next: "@pop" }]],
[
/@fullIdentifier|\./,
{
cases: {
"@builtinTypes": "keyword",
"@default": "type.identifier"
}
}
]
],
groupDecl: [
{ include: "@whitespace" },
[/@identifier/, "identifier"],
["=", "operator"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@messageBody.$S2" }],
{ include: "@constant" }
],
type: [
{ include: "@whitespace" },
[/@identifier/, "type.identifier", "@pop"],
[/./, "delimiter"]
],
identifier: [{ include: "@whitespace" }, [/@identifier/, "identifier", "@pop"]],
serviceDecl: [
{ include: "@whitespace" },
[/@identifier/, "identifier"],
[/{/, { token: "@brackets", bracket: "@open", switchTo: "@serviceBody.$S2" }]
],
serviceBody: [
{ include: "@whitespace" },
{ include: "@constant" },
[/;/, "delimiter"],
[/option\b/, "keyword", "@option.$S2"],
[/rpc\b/, "keyword", "@rpc.$S2"],
[/\[/, { token: "@brackets", bracket: "@open", next: "@options.$S2" }],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
rpc: [
{ include: "@whitespace" },
[/@identifier/, "identifier"],
[/\(/, { token: "@brackets", bracket: "@open", switchTo: "@request.$S2" }],
[/{/, { token: "@brackets", bracket: "@open", next: "@methodOptions.$S2" }],
[/;/, "delimiter", "@pop"]
],
request: [
{ include: "@whitespace" },
[
/@messageType/,
{
cases: {
stream: { token: "keyword", next: "@type.$S2" },
"@default": "type.identifier"
}
}
],
[/\)/, { token: "@brackets", bracket: "@close", switchTo: "@returns.$S2" }]
],
returns: [
{ include: "@whitespace" },
[/returns\b/, "keyword"],
[/\(/, { token: "@brackets", bracket: "@open", switchTo: "@response.$S2" }]
],
response: [
{ include: "@whitespace" },
[
/@messageType/,
{
cases: {
stream: { token: "keyword", next: "@type.$S2" },
"@default": "type.identifier"
}
}
],
[/\)/, { token: "@brackets", bracket: "@close", switchTo: "@rpc.$S2" }]
],
methodOptions: [
{ include: "@whitespace" },
{ include: "@constant" },
[/;/, "delimiter"],
["option", "keyword"],
[/@optionName/, "annotation"],
[/[()]/, "annotation.brackets"],
[/=/, "operator"],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
],
comment: [
[/[^\/*]+/, "comment"],
[/\/\*/, "comment", "@push"],
// nested comment
["\\*/", "comment", "@pop"],
[/[\/*]/, "comment"]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
stringSingle: [
[/[^\\']+/, "string"],
[/@escapes/, "string.escape"],
[/\\./, "string.escape.invalid"],
[/'/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
constant: [
["@boolLit", "keyword.constant"],
["@hexLit", "number.hex"],
["@octalLit", "number.octal"],
["@decimalLit", "number"],
["@floatLit", "number.float"],
[/("([^"\\]|\\.)*|'([^'\\]|\\.)*)$/, "string.invalid"],
// non-terminated string
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }],
[/'/, { token: "string.quote", bracket: "@open", next: "@stringSingle" }],
[/{/, { token: "@brackets", bracket: "@open", next: "@prototext" }],
[/identifier/, "identifier"]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/\/\*/, "comment", "@comment"],
[/\/\/.*$/, "comment"]
],
prototext: [
{ include: "@whitespace" },
{ include: "@constant" },
[/@identifier/, "identifier"],
[/[:;]/, "delimiter"],
[/}/, { token: "@brackets", bracket: "@close", next: "@pop" }]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+405
View File
@@ -0,0 +1,405 @@
define("vs/pug-BIApPNjT", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: '"', close: '"', notIn: ["string", "comment"] },
{ open: "'", close: "'", notIn: ["string", "comment"] },
{ open: "{", close: "}", notIn: ["string", "comment"] },
{ open: "[", close: "]", notIn: ["string", "comment"] },
{ open: "(", close: ")", notIn: ["string", "comment"] }
],
folding: {
offSide: true
}
};
const language = {
defaultToken: "",
tokenPostfix: ".pug",
ignoreCase: true,
brackets: [
{ token: "delimiter.curly", open: "{", close: "}" },
{ token: "delimiter.array", open: "[", close: "]" },
{ token: "delimiter.parenthesis", open: "(", close: ")" }
],
keywords: [
"append",
"block",
"case",
"default",
"doctype",
"each",
"else",
"extends",
"for",
"if",
"in",
"include",
"mixin",
"typeof",
"unless",
"var",
"when"
],
tags: [
"a",
"abbr",
"acronym",
"address",
"area",
"article",
"aside",
"audio",
"b",
"base",
"basefont",
"bdi",
"bdo",
"blockquote",
"body",
"br",
"button",
"canvas",
"caption",
"center",
"cite",
"code",
"col",
"colgroup",
"command",
"datalist",
"dd",
"del",
"details",
"dfn",
"div",
"dl",
"dt",
"em",
"embed",
"fieldset",
"figcaption",
"figure",
"font",
"footer",
"form",
"frame",
"frameset",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"head",
"header",
"hgroup",
"hr",
"html",
"i",
"iframe",
"img",
"input",
"ins",
"keygen",
"kbd",
"label",
"li",
"link",
"map",
"mark",
"menu",
"meta",
"meter",
"nav",
"noframes",
"noscript",
"object",
"ol",
"optgroup",
"option",
"output",
"p",
"param",
"pre",
"progress",
"q",
"rp",
"rt",
"ruby",
"s",
"samp",
"script",
"section",
"select",
"small",
"source",
"span",
"strike",
"strong",
"style",
"sub",
"summary",
"sup",
"table",
"tbody",
"td",
"textarea",
"tfoot",
"th",
"thead",
"time",
"title",
"tr",
"tracks",
"tt",
"u",
"ul",
"video",
"wbr"
],
// we include these common regular expressions
symbols: /[\+\-\*\%\&\|\!\=\/\.\,\:]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
tokenizer: {
root: [
// Tag or a keyword at start
[
/^(\s*)([a-zA-Z_-][\w-]*)/,
{
cases: {
"$2@tags": {
cases: {
"@eos": ["", "tag"],
"@default": ["", { token: "tag", next: "@tag.$1" }]
}
},
"$2@keywords": ["", { token: "keyword.$2" }],
"@default": ["", ""]
}
}
],
// id
[
/^(\s*)(#[a-zA-Z_-][\w-]*)/,
{
cases: {
"@eos": ["", "tag.id"],
"@default": ["", { token: "tag.id", next: "@tag.$1" }]
}
}
],
// class
[
/^(\s*)(\.[a-zA-Z_-][\w-]*)/,
{
cases: {
"@eos": ["", "tag.class"],
"@default": ["", { token: "tag.class", next: "@tag.$1" }]
}
}
],
// plain text with pipe
[/^(\s*)(\|.*)$/, ""],
{ include: "@whitespace" },
// keywords
[
/[a-zA-Z_$][\w$]*/,
{
cases: {
"@keywords": { token: "keyword.$0" },
"@default": ""
}
}
],
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, "delimiter"],
// numbers
[/\d+\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\d+/, "number"],
// strings:
[/"/, "string", '@string."'],
[/'/, "string", "@string.'"]
],
tag: [
[/(\.)(\s*$)/, [{ token: "delimiter", next: "@blockText.$S2." }, ""]],
[/\s+/, { token: "", next: "@simpleText" }],
// id
[
/#[a-zA-Z_-][\w-]*/,
{
cases: {
"@eos": { token: "tag.id", next: "@pop" },
"@default": "tag.id"
}
}
],
// class
[
/\.[a-zA-Z_-][\w-]*/,
{
cases: {
"@eos": { token: "tag.class", next: "@pop" },
"@default": "tag.class"
}
}
],
// attributes
[/\(/, { token: "delimiter.parenthesis", next: "@attributeList" }]
],
simpleText: [
[/[^#]+$/, { token: "", next: "@popall" }],
[/[^#]+/, { token: "" }],
// interpolation
[
/(#{)([^}]*)(})/,
{
cases: {
"@eos": [
"interpolation.delimiter",
"interpolation",
{
token: "interpolation.delimiter",
next: "@popall"
}
],
"@default": ["interpolation.delimiter", "interpolation", "interpolation.delimiter"]
}
}
],
[/#$/, { token: "", next: "@popall" }],
[/#/, ""]
],
attributeList: [
[/\s+/, ""],
[
/(\w+)(\s*=\s*)("|')/,
["attribute.name", "delimiter", { token: "attribute.value", next: "@value.$3" }]
],
[/\w+/, "attribute.name"],
[
/,/,
{
cases: {
"@eos": {
token: "attribute.delimiter",
next: "@popall"
},
"@default": "attribute.delimiter"
}
}
],
[/\)$/, { token: "delimiter.parenthesis", next: "@popall" }],
[/\)/, { token: "delimiter.parenthesis", next: "@pop" }]
],
whitespace: [
[/^(\s*)(\/\/.*)$/, { token: "comment", next: "@blockText.$1.comment" }],
[/[ \t\r\n]+/, ""],
[/<!--/, { token: "comment", next: "@comment" }]
],
blockText: [
[
/^\s+.*$/,
{
cases: {
"($S2\\s+.*$)": { token: "$S3" },
"@default": { token: "@rematch", next: "@popall" }
}
}
],
[/./, { token: "@rematch", next: "@popall" }]
],
comment: [
[/[^<\-]+/, "comment.content"],
[/-->/, { token: "comment", next: "@pop" }],
[/<!--/, "comment.content.invalid"],
[/[<\-]/, "comment.content"]
],
string: [
[
/[^\\"'#]+/,
{
cases: {
"@eos": { token: "string", next: "@popall" },
"@default": "string"
}
}
],
[
/@escapes/,
{
cases: {
"@eos": { token: "string.escape", next: "@popall" },
"@default": "string.escape"
}
}
],
[
/\\./,
{
cases: {
"@eos": {
token: "string.escape.invalid",
next: "@popall"
},
"@default": "string.escape.invalid"
}
}
],
// interpolation
[/(#{)([^}]*)(})/, ["interpolation.delimiter", "interpolation", "interpolation.delimiter"]],
[/#/, "string"],
[
/["']/,
{
cases: {
"$#==$S2": { token: "string", next: "@pop" },
"@default": { token: "string" }
}
}
]
],
// Almost identical to above, except for escapes and the output token
value: [
[
/[^\\"']+/,
{
cases: {
"@eos": { token: "attribute.value", next: "@popall" },
"@default": "attribute.value"
}
}
],
[
/\\./,
{
cases: {
"@eos": { token: "attribute.value", next: "@popall" },
"@default": "attribute.value"
}
}
],
[
/["']/,
{
cases: {
"$#==$S2": { token: "attribute.value", next: "@pop" },
"@default": { token: "attribute.value" }
}
}
]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+296
View File
@@ -0,0 +1,296 @@
define("vs/python-CzSOMEzg", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const conf = {
comments: {
lineComment: "#",
blockComment: ["'''", "'''"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string"] },
{ open: "'", close: "'", notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
onEnterRules: [
{
beforeText: new RegExp(
"^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
],
folding: {
offSide: true,
markers: {
start: new RegExp("^\\s*#region\\b"),
end: new RegExp("^\\s*#endregion\\b")
}
}
};
const language = {
defaultToken: "",
tokenPostfix: ".python",
keywords: [
// This section is the result of running
// `import keyword; for k in sorted(keyword.kwlist + keyword.softkwlist): print(" '" + k + "',")`
// in a Python REPL,
// though note that the output from Python 3 is not a strict superset of the
// output from Python 2.
"False",
// promoted to keyword.kwlist in Python 3
"None",
// promoted to keyword.kwlist in Python 3
"True",
// promoted to keyword.kwlist in Python 3
"_",
// new in Python 3.10
"and",
"as",
"assert",
"async",
// new in Python 3
"await",
// new in Python 3
"break",
"case",
// new in Python 3.10
"class",
"continue",
"def",
"del",
"elif",
"else",
"except",
"exec",
// Python 2, but not 3.
"finally",
"for",
"from",
"global",
"if",
"import",
"in",
"is",
"lambda",
"match",
// new in Python 3.10
"nonlocal",
// new in Python 3
"not",
"or",
"pass",
"print",
// Python 2, but not 3.
"raise",
"return",
"try",
"type",
// new in Python 3.12
"while",
"with",
"yield",
"int",
"float",
"long",
"complex",
"hex",
"abs",
"all",
"any",
"apply",
"basestring",
"bin",
"bool",
"buffer",
"bytearray",
"callable",
"chr",
"classmethod",
"cmp",
"coerce",
"compile",
"complex",
"delattr",
"dict",
"dir",
"divmod",
"enumerate",
"eval",
"execfile",
"file",
"filter",
"format",
"frozenset",
"getattr",
"globals",
"hasattr",
"hash",
"help",
"id",
"input",
"intern",
"isinstance",
"issubclass",
"iter",
"len",
"locals",
"list",
"map",
"max",
"memoryview",
"min",
"next",
"object",
"oct",
"open",
"ord",
"pow",
"print",
"property",
"reversed",
"range",
"raw_input",
"reduce",
"reload",
"repr",
"reversed",
"round",
"self",
"set",
"setattr",
"slice",
"sorted",
"staticmethod",
"str",
"sum",
"super",
"tuple",
"type",
"unichr",
"unicode",
"vars",
"xrange",
"zip",
"__dict__",
"__methods__",
"__members__",
"__class__",
"__bases__",
"__name__",
"__mro__",
"__subclasses__",
"__init__",
"__import__"
],
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.bracket" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
tokenizer: {
root: [
{ include: "@whitespace" },
{ include: "@numbers" },
{ include: "@strings" },
[/[,:;]/, "delimiter"],
[/[{}\[\]()]/, "@brackets"],
[/@[a-zA-Z_]\w*/, "tag"],
[
/[a-zA-Z_]\w*/,
{
cases: {
"@keywords": "keyword",
"@default": "identifier"
}
}
]
],
// Deal with white space, including single and multi-line comments
whitespace: [
[/\s+/, "white"],
[/(^#.*$)/, "comment"],
[/'''/, "string", "@endDocString"],
[/"""/, "string", "@endDblDocString"]
],
endDocString: [
[/[^']+/, "string"],
[/\\'/, "string"],
[/'''/, "string", "@popall"],
[/'/, "string"]
],
endDblDocString: [
[/[^"]+/, "string"],
[/\\"/, "string"],
[/"""/, "string", "@popall"],
[/"/, "string"]
],
// Recognize hex, negatives, decimals, imaginaries, longs, and scientific notation
numbers: [
[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/, "number.hex"],
[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/, "number"]
],
// Recognize strings, including those broken across lines with \ (but not without)
strings: [
[/'$/, "string.escape", "@popall"],
[/f'{1,3}/, "string.escape", "@fStringBody"],
[/'/, "string.escape", "@stringBody"],
[/"$/, "string.escape", "@popall"],
[/f"{1,3}/, "string.escape", "@fDblStringBody"],
[/"/, "string.escape", "@dblStringBody"]
],
fStringBody: [
[/[^\\'\{\}]+$/, "string", "@popall"],
[/[^\\'\{\}]+/, "string"],
[/\{[^\}':!=]+/, "identifier", "@fStringDetail"],
[/\\./, "string"],
[/'/, "string.escape", "@popall"],
[/\\$/, "string"]
],
stringBody: [
[/[^\\']+$/, "string", "@popall"],
[/[^\\']+/, "string"],
[/\\./, "string"],
[/'/, "string.escape", "@popall"],
[/\\$/, "string"]
],
fDblStringBody: [
[/[^\\"\{\}]+$/, "string", "@popall"],
[/[^\\"\{\}]+/, "string"],
[/\{[^\}':!=]+/, "identifier", "@fStringDetail"],
[/\\./, "string"],
[/"/, "string.escape", "@popall"],
[/\\$/, "string"]
],
dblStringBody: [
[/[^\\"]+$/, "string", "@popall"],
[/[^\\"]+/, "string"],
[/\\./, "string"],
[/"/, "string.escape", "@popall"],
[/\\$/, "string"]
],
fStringDetail: [
[/[:][^}]+/, "string"],
[/[!][ars]/, "string"],
// only !a, !r, !s are supported by f-strings: https://docs.python.org/3/tutorial/inputoutput.html#formatted-string-literals
[/=/, "string"],
[/\}/, "identifier", "@pop"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+304
View File
@@ -0,0 +1,304 @@
define("vs/qsharp-BzyhV8V4", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "//"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"', notIn: ["string", "comment"] }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
]
};
const language = {
// Set defaultToken to invalid to see what you do not tokenize yet
keywords: [
"namespace",
"open",
"import",
"export",
"as",
"operation",
"function",
"body",
"adjoint",
"newtype",
"struct",
"controlled",
"if",
"elif",
"else",
"repeat",
"until",
"fixup",
"for",
"in",
"while",
"return",
"fail",
"within",
"apply",
"Adjoint",
"Controlled",
"Adj",
"Ctl",
"is",
"self",
"auto",
"distribute",
"invert",
"intrinsic",
"let",
"set",
"w/",
"new",
"not",
"and",
"or",
"use",
"borrow",
"using",
"borrowing",
"mutable",
"internal"
],
typeKeywords: [
"Unit",
"Int",
"BigInt",
"Double",
"Bool",
"String",
"Qubit",
"Result",
"Pauli",
"Range"
],
invalidKeywords: [
"abstract",
"base",
"bool",
"break",
"byte",
"case",
"catch",
"char",
"checked",
"class",
"const",
"continue",
"decimal",
"default",
"delegate",
"do",
"double",
"enum",
"event",
"explicit",
"extern",
"finally",
"fixed",
"float",
"foreach",
"goto",
"implicit",
"int",
"interface",
"lock",
"long",
"null",
"object",
"operator",
"out",
"override",
"params",
"private",
"protected",
"public",
"readonly",
"ref",
"sbyte",
"sealed",
"short",
"sizeof",
"stackalloc",
"static",
"string",
"switch",
"this",
"throw",
"try",
"typeof",
"unit",
"ulong",
"unchecked",
"unsafe",
"ushort",
"virtual",
"void",
"volatile"
],
constants: ["true", "false", "PauliI", "PauliX", "PauliY", "PauliZ", "One", "Zero"],
builtin: [
"X",
"Y",
"Z",
"H",
"HY",
"S",
"T",
"SWAP",
"CNOT",
"CCNOT",
"MultiX",
"R",
"RFrac",
"Rx",
"Ry",
"Rz",
"R1",
"R1Frac",
"Exp",
"ExpFrac",
"Measure",
"M",
"MultiM",
"Message",
"Length",
"Assert",
"AssertProb",
"AssertEqual"
],
operators: [
"and=",
"<-",
"->",
"*",
"*=",
"@",
"!",
"^",
"^=",
":",
"::",
".",
"..",
"==",
"...",
"=",
"=>",
">",
">=",
"<",
"<=",
"-",
"-=",
"!=",
"or=",
"%",
"%=",
"|",
"+",
"+=",
"?",
"/",
"/=",
"&&&",
"&&&=",
"^^^",
"^^^=",
">>>",
">>>=",
"<<<",
"<<<=",
"|||",
"|||=",
"~~~",
"_",
"w/",
"w/="
],
namespaceFollows: ["namespace", "open"],
importsFollows: ["import"],
symbols: /[=><!~?:&|+\-*\/\^%@._]+/,
escapes: /\\[\s\S]/,
// The main tokenizer for our languages
tokenizer: {
root: [
// identifiers and keywords
[
/[a-zA-Z_$][\w$]*/,
{
cases: {
"@namespaceFollows": {
token: "keyword.$0",
next: "@namespace"
},
"@importsFollows": {
token: "keyword.$0",
next: "@imports"
},
"@typeKeywords": "type",
"@keywords": "keyword",
"@constants": "constant",
"@builtin": "keyword",
"@invalidKeywords": "invalid",
"@default": "identifier"
}
}
],
// whitespace
{ include: "@whitespace" },
// delimiters and operators
[/[{}()\[\]]/, "@brackets"],
[/@symbols/, { cases: { "@operators": "operator", "@default": "" } }],
// numbers
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float"],
[/\d+/, "number"],
// delimiter: after number because of .\d floats
[/[;,.]/, "delimiter"],
// strings
//[/"([^"\\]|\\.)*$/, 'string.invalid' ], // non-terminated string
[/"/, { token: "string.quote", bracket: "@open", next: "@string" }]
],
string: [
[/[^\\"]+/, "string"],
[/@escapes/, "string.escape"],
[/"/, { token: "string.quote", bracket: "@close", next: "@pop" }]
],
namespace: [
{ include: "@whitespace" },
[/[A-Za-z]\w*/, "namespace"],
[/[\.]/, "delimiter"],
["", "", "@pop"]
],
imports: [
{ include: "@whitespace" },
[/[A-Za-z]\w*(?=\.)/, "namespace"],
[/[A-Za-z]\w*/, "identifier"],
[/\*/, "wildcard"],
[/[\.,]/, "delimiter"],
["", "", "@pop"]
],
whitespace: [
[/[ \t\r\n]+/, "white"],
[/(\/\/).*/, "comment"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+246
View File
@@ -0,0 +1,246 @@
define("vs/r-BZ_VXAR1", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "#"
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".r",
roxygen: [
"@alias",
"@aliases",
"@assignee",
"@author",
"@backref",
"@callGraph",
"@callGraphDepth",
"@callGraphPrimitives",
"@concept",
"@describeIn",
"@description",
"@details",
"@docType",
"@encoding",
"@evalNamespace",
"@evalRd",
"@example",
"@examples",
"@export",
"@exportClass",
"@exportMethod",
"@exportPattern",
"@family",
"@field",
"@formals",
"@format",
"@import",
"@importClassesFrom",
"@importFrom",
"@importMethodsFrom",
"@include",
"@inherit",
"@inheritDotParams",
"@inheritParams",
"@inheritSection",
"@keywords",
"@md",
"@method",
"@name",
"@noMd",
"@noRd",
"@note",
"@param",
"@rawNamespace",
"@rawRd",
"@rdname",
"@references",
"@return",
"@S3method",
"@section",
"@seealso",
"@setClass",
"@slot",
"@source",
"@template",
"@templateVar",
"@title",
"@TODO",
"@usage",
"@useDynLib"
],
constants: [
"NULL",
"FALSE",
"TRUE",
"NA",
"Inf",
"NaN",
"NA_integer_",
"NA_real_",
"NA_complex_",
"NA_character_",
"T",
"F",
"LETTERS",
"letters",
"month.abb",
"month.name",
"pi",
"R.version.string"
],
keywords: [
"break",
"next",
"return",
"if",
"else",
"for",
"in",
"repeat",
"while",
"array",
"category",
"character",
"complex",
"double",
"function",
"integer",
"list",
"logical",
"matrix",
"numeric",
"vector",
"data.frame",
"factor",
"library",
"require",
"attach",
"detach",
"source"
],
special: ["\\n", "\\r", "\\t", "\\b", "\\a", "\\f", "\\v", "\\'", '\\"', "\\\\"],
brackets: [
{ open: "{", close: "}", token: "delimiter.curly" },
{ open: "[", close: "]", token: "delimiter.bracket" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
tokenizer: {
root: [
{ include: "@numbers" },
{ include: "@strings" },
[/[{}\[\]()]/, "@brackets"],
{ include: "@operators" },
[/#'$/, "comment.doc"],
[/#'/, "comment.doc", "@roxygen"],
[/(^#.*$)/, "comment"],
[/\s+/, "white"],
[/[,:;]/, "delimiter"],
[/@[a-zA-Z]\w*/, "tag"],
[
/[a-zA-Z]\w*/,
{
cases: {
"@keywords": "keyword",
"@constants": "constant",
"@default": "identifier"
}
}
]
],
// Recognize Roxygen comments
roxygen: [
[
/@\w+/,
{
cases: {
"@roxygen": "tag",
"@eos": { token: "comment.doc", next: "@pop" },
"@default": "comment.doc"
}
}
],
[
/\s+/,
{
cases: {
"@eos": { token: "comment.doc", next: "@pop" },
"@default": "comment.doc"
}
}
],
[/.*/, { token: "comment.doc", next: "@pop" }]
],
// Recognize positives, negatives, decimals, imaginaries, and scientific notation
numbers: [
[/0[xX][0-9a-fA-F]+/, "number.hex"],
[/-?(\d*\.)?\d+([eE][+\-]?\d+)?/, "number"]
],
// Recognize operators
operators: [
[/<{1,2}-/, "operator"],
[/->{1,2}/, "operator"],
[/%[^%\s]+%/, "operator"],
[/\*\*/, "operator"],
[/%%/, "operator"],
[/&&/, "operator"],
[/\|\|/, "operator"],
[/<</, "operator"],
[/>>/, "operator"],
[/[-+=&|!<>^~*/:$]/, "operator"]
],
// Recognize strings, including those broken across lines
strings: [
[/'/, "string.escape", "@stringBody"],
[/"/, "string.escape", "@dblStringBody"]
],
stringBody: [
[
/\\./,
{
cases: {
"@special": "string",
"@default": "error-token"
}
}
],
[/'/, "string.escape", "@popall"],
[/./, "string"]
],
dblStringBody: [
[
/\\./,
{
cases: {
"@special": "string",
"@default": "error-token"
}
}
],
[/"/, "string.escape", "@popall"],
[/./, "string"]
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+546
View File
@@ -0,0 +1,546 @@
define("vs/razor-BIG_AFb9", ["exports", "./editor.api-CykLys8L"], (function(exports, editor_api) {
"use strict";
const EMPTY_ELEMENTS = [
"area",
"base",
"br",
"col",
"embed",
"hr",
"img",
"input",
"keygen",
"link",
"menuitem",
"meta",
"param",
"source",
"track",
"wbr"
];
const conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
blockComment: ["<!--", "-->"]
},
brackets: [
["<!--", "-->"],
["<", ">"],
["{", "}"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: '"', close: '"' },
{ open: "'", close: "'" },
{ open: "<", close: ">" }
],
onEnterRules: [
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: {
indentAction: editor_api.languages.IndentAction.IndentOutdent
}
},
{
beforeText: new RegExp(
`<(?!(?:${EMPTY_ELEMENTS.join("|")}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
"i"
),
action: { indentAction: editor_api.languages.IndentAction.Indent }
}
]
};
const language = {
defaultToken: "",
tokenPostfix: "",
// ignoreCase: true,
// The main tokenizer for our languages
tokenizer: {
root: [
[/@@@@/],
// text
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.root" }],
[/<!DOCTYPE/, "metatag.html", "@doctype"],
[/<!--/, "comment.html", "@comment"],
[/(<)([\w\-]+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
[/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
[/(<)([:\w\-]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/(<\/)([\w\-]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
[/</, "delimiter.html"],
[/[ \t\r\n]+/],
// whitespace
[/[^<@]+/]
// text
],
doctype: [
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.comment" }],
[/[^>]+/, "metatag.content.html"],
[/>/, "metatag.html", "@pop"]
],
comment: [
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.comment" }],
[/-->/, "comment.html", "@pop"],
[/[^-]+/, "comment.content.html"],
[/./, "comment.content.html"]
],
otherTag: [
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.otherTag" }],
[/\/?>/, "delimiter.html", "@pop"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/]
// whitespace
],
// -- BEGIN <script> tags handling
// After <script
script: [
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.script" }],
[/type/, "attribute.name", "@scriptAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(script\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <script ... type
scriptAfterType: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.scriptAfterType"
}
],
[/=/, "delimiter", "@scriptAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type =
scriptAfterTypeEquals: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.scriptAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@scriptWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.text/javascript",
nextEmbedded: "text/javascript"
}
],
// cover invalid e.g. <script type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <script ... type = $S2
scriptWithCustomType: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.scriptWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@scriptEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
],
scriptEmbedded: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInEmbeddedState.scriptEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <script> tags handling
// -- BEGIN <style> tags handling
// After <style
style: [
[/@[^@]/, { token: "@rematch", switchTo: "@razorInSimpleState.style" }],
[/type/, "attribute.name", "@styleAfterType"],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
[/[ \t\r\n]+/],
// whitespace
[
/(<\/)(style\s*)(>)/,
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
]
],
// After <style ... type
styleAfterType: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.styleAfterType"
}
],
[/=/, "delimiter", "@styleAfterTypeEquals"],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type =
styleAfterTypeEquals: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.styleAfterTypeEquals"
}
],
[
/"([^"]*)"/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/'([^']*)'/,
{
token: "attribute.value",
switchTo: "@styleWithCustomType.$1"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.text/css",
nextEmbedded: "text/css"
}
],
// cover invalid e.g. <style type=>
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
// After <style ... type = $S2
styleWithCustomType: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInSimpleState.styleWithCustomType.$S2"
}
],
[
/>/,
{
token: "delimiter.html",
next: "@styleEmbedded.$S2",
nextEmbedded: "$S2"
}
],
[/"([^"]*)"/, "attribute.value"],
[/'([^']*)'/, "attribute.value"],
[/[\w\-]+/, "attribute.name"],
[/=/, "delimiter"],
[/[ \t\r\n]+/],
// whitespace
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
],
styleEmbedded: [
[
/@[^@]/,
{
token: "@rematch",
switchTo: "@razorInEmbeddedState.styleEmbedded.$S2",
nextEmbedded: "@pop"
}
],
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }]
],
// -- END <style> tags handling
razorInSimpleState: [
[/@\*/, "comment.cs", "@razorBlockCommentTopLevel"],
[/@[{(]/, "metatag.cs", "@razorRootTopLevel"],
[/(@)(\s*[\w]+)/, ["metatag.cs", { token: "identifier.cs", switchTo: "@$S2.$S3" }]],
[/[})]/, { token: "metatag.cs", switchTo: "@$S2.$S3" }],
[/\*@/, { token: "comment.cs", switchTo: "@$S2.$S3" }]
],
razorInEmbeddedState: [
[/@\*/, "comment.cs", "@razorBlockCommentTopLevel"],
[/@[{(]/, "metatag.cs", "@razorRootTopLevel"],
[
/(@)(\s*[\w]+)/,
[
"metatag.cs",
{
token: "identifier.cs",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}
]
],
[
/[})]/,
{
token: "metatag.cs",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}
],
[
/\*@/,
{
token: "comment.cs",
switchTo: "@$S2.$S3",
nextEmbedded: "$S3"
}
]
],
razorBlockCommentTopLevel: [
[/\*@/, "@rematch", "@pop"],
[/[^*]+/, "comment.cs"],
[/./, "comment.cs"]
],
razorBlockComment: [
[/\*@/, "comment.cs", "@pop"],
[/[^*]+/, "comment.cs"],
[/./, "comment.cs"]
],
razorRootTopLevel: [
[/\{/, "delimiter.bracket.cs", "@razorRoot"],
[/\(/, "delimiter.parenthesis.cs", "@razorRoot"],
[/[})]/, "@rematch", "@pop"],
{ include: "razorCommon" }
],
razorRoot: [
[/\{/, "delimiter.bracket.cs", "@razorRoot"],
[/\(/, "delimiter.parenthesis.cs", "@razorRoot"],
[/\}/, "delimiter.bracket.cs", "@pop"],
[/\)/, "delimiter.parenthesis.cs", "@pop"],
{ include: "razorCommon" }
],
razorCommon: [
[
/[a-zA-Z_]\w*/,
{
cases: {
"@razorKeywords": { token: "keyword.cs" },
"@default": "identifier.cs"
}
}
],
// brackets
[/[\[\]]/, "delimiter.array.cs"],
// whitespace
[/[ \t\r\n]+/],
// comments
[/\/\/.*$/, "comment.cs"],
[/@\*/, "comment.cs", "@razorBlockComment"],
// strings
[/"([^"]*)"/, "string.cs"],
[/'([^']*)'/, "string.cs"],
// simple html
[/(<)([\w\-]+)(\/>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<)([\w\-]+)(>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
[/(<\/)([\w\-]+)(>)/, ["delimiter.html", "tag.html", "delimiter.html"]],
// delimiters
[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/, "delimiter.cs"],
// numbers
[/\d*\d+[eE]([\-+]?\d+)?/, "number.float.cs"],
[/\d*\.\d+([eE][\-+]?\d+)?/, "number.float.cs"],
[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/, "number.hex.cs"],
[/0[0-7']*[0-7]/, "number.octal.cs"],
[/0[bB][0-1']*[0-1]/, "number.binary.cs"],
[/\d[\d']*/, "number.cs"],
[/\d/, "number.cs"]
]
},
razorKeywords: [
"abstract",
"as",
"async",
"await",
"base",
"bool",
"break",
"by",
"byte",
"case",
"catch",
"char",
"checked",
"class",
"const",
"continue",
"decimal",
"default",
"delegate",
"do",
"double",
"descending",
"explicit",
"event",
"extern",
"else",
"enum",
"false",
"finally",
"fixed",
"float",
"for",
"foreach",
"from",
"goto",
"group",
"if",
"implicit",
"in",
"int",
"interface",
"internal",
"into",
"is",
"lock",
"long",
"nameof",
"new",
"null",
"namespace",
"object",
"operator",
"out",
"override",
"orderby",
"params",
"private",
"protected",
"public",
"readonly",
"ref",
"return",
"switch",
"struct",
"sbyte",
"sealed",
"short",
"sizeof",
"stackalloc",
"static",
"string",
"select",
"this",
"throw",
"true",
"try",
"typeof",
"uint",
"ulong",
"unchecked",
"unsafe",
"ushort",
"using",
"var",
"virtual",
"volatile",
"void",
"when",
"while",
"where",
"yield",
"model",
"inject"
// Razor specific
],
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+305
View File
@@ -0,0 +1,305 @@
define("vs/redis-BVpHZsxd", ["exports"], (function(exports) {
"use strict";
const conf = {
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".redis",
ignoreCase: true,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
"APPEND",
"AUTH",
"BGREWRITEAOF",
"BGSAVE",
"BITCOUNT",
"BITFIELD",
"BITOP",
"BITPOS",
"BLPOP",
"BRPOP",
"BRPOPLPUSH",
"CLIENT",
"KILL",
"LIST",
"GETNAME",
"PAUSE",
"REPLY",
"SETNAME",
"CLUSTER",
"ADDSLOTS",
"COUNT-FAILURE-REPORTS",
"COUNTKEYSINSLOT",
"DELSLOTS",
"FAILOVER",
"FORGET",
"GETKEYSINSLOT",
"INFO",
"KEYSLOT",
"MEET",
"NODES",
"REPLICATE",
"RESET",
"SAVECONFIG",
"SET-CONFIG-EPOCH",
"SETSLOT",
"SLAVES",
"SLOTS",
"COMMAND",
"COUNT",
"GETKEYS",
"CONFIG",
"GET",
"REWRITE",
"SET",
"RESETSTAT",
"DBSIZE",
"DEBUG",
"OBJECT",
"SEGFAULT",
"DECR",
"DECRBY",
"DEL",
"DISCARD",
"DUMP",
"ECHO",
"EVAL",
"EVALSHA",
"EXEC",
"EXISTS",
"EXPIRE",
"EXPIREAT",
"FLUSHALL",
"FLUSHDB",
"GEOADD",
"GEOHASH",
"GEOPOS",
"GEODIST",
"GEORADIUS",
"GEORADIUSBYMEMBER",
"GETBIT",
"GETRANGE",
"GETSET",
"HDEL",
"HEXISTS",
"HGET",
"HGETALL",
"HINCRBY",
"HINCRBYFLOAT",
"HKEYS",
"HLEN",
"HMGET",
"HMSET",
"HSET",
"HSETNX",
"HSTRLEN",
"HVALS",
"INCR",
"INCRBY",
"INCRBYFLOAT",
"KEYS",
"LASTSAVE",
"LINDEX",
"LINSERT",
"LLEN",
"LPOP",
"LPUSH",
"LPUSHX",
"LRANGE",
"LREM",
"LSET",
"LTRIM",
"MGET",
"MIGRATE",
"MONITOR",
"MOVE",
"MSET",
"MSETNX",
"MULTI",
"PERSIST",
"PEXPIRE",
"PEXPIREAT",
"PFADD",
"PFCOUNT",
"PFMERGE",
"PING",
"PSETEX",
"PSUBSCRIBE",
"PUBSUB",
"PTTL",
"PUBLISH",
"PUNSUBSCRIBE",
"QUIT",
"RANDOMKEY",
"READONLY",
"READWRITE",
"RENAME",
"RENAMENX",
"RESTORE",
"ROLE",
"RPOP",
"RPOPLPUSH",
"RPUSH",
"RPUSHX",
"SADD",
"SAVE",
"SCARD",
"SCRIPT",
"FLUSH",
"LOAD",
"SDIFF",
"SDIFFSTORE",
"SELECT",
"SETBIT",
"SETEX",
"SETNX",
"SETRANGE",
"SHUTDOWN",
"SINTER",
"SINTERSTORE",
"SISMEMBER",
"SLAVEOF",
"SLOWLOG",
"SMEMBERS",
"SMOVE",
"SORT",
"SPOP",
"SRANDMEMBER",
"SREM",
"STRLEN",
"SUBSCRIBE",
"SUNION",
"SUNIONSTORE",
"SWAPDB",
"SYNC",
"TIME",
"TOUCH",
"TTL",
"TYPE",
"UNSUBSCRIBE",
"UNLINK",
"UNWATCH",
"WAIT",
"WATCH",
"ZADD",
"ZCARD",
"ZCOUNT",
"ZINCRBY",
"ZINTERSTORE",
"ZLEXCOUNT",
"ZRANGE",
"ZRANGEBYLEX",
"ZREVRANGEBYLEX",
"ZRANGEBYSCORE",
"ZRANK",
"ZREM",
"ZREMRANGEBYLEX",
"ZREMRANGEBYRANK",
"ZREMRANGEBYSCORE",
"ZREVRANGE",
"ZREVRANGEBYSCORE",
"ZREVRANK",
"ZSCORE",
"ZUNIONSTORE",
"SCAN",
"SSCAN",
"HSCAN",
"ZSCAN"
],
operators: [
// NOT SUPPORTED
],
builtinFunctions: [
// NOT SUPPORTED
],
builtinVariables: [
// NOT SUPPORTED
],
pseudoColumns: [
// NOT SUPPORTED
],
tokenizer: {
root: [
{ include: "@whitespace" },
{ include: "@pseudoColumns" },
{ include: "@numbers" },
{ include: "@strings" },
{ include: "@scopes" },
[/[;,.]/, "delimiter"],
[/[()]/, "@brackets"],
[
/[\w@#$]+/,
{
cases: {
"@keywords": "keyword",
"@operators": "operator",
"@builtinVariables": "predefined",
"@builtinFunctions": "predefined",
"@default": "identifier"
}
}
],
[/[<>=!%&+\-*/|~^]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
pseudoColumns: [
[
/[$][A-Za-z_][\w@#$]*/,
{
cases: {
"@pseudoColumns": "predefined",
"@default": "identifier"
}
}
]
],
numbers: [
[/0[xX][0-9a-fA-F]*/, "number"],
[/[$][+-]*\d*(\.\d*)?/, "number"],
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
],
strings: [
[/'/, { token: "string", next: "@string" }],
[/"/, { token: "string.double", next: "@stringDouble" }]
],
string: [
[/[^']+/, "string"],
[/''/, "string"],
[/'/, { token: "string", next: "@pop" }]
],
stringDouble: [
[/[^"]+/, "string.double"],
[/""/, "string.double"],
[/"/, { token: "string.double", next: "@pop" }]
],
scopes: [
// NOT SUPPORTED
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
+812
View File
@@ -0,0 +1,812 @@
define("vs/redshift-DMeYiY_v", ["exports"], (function(exports) {
"use strict";
const conf = {
comments: {
lineComment: "--",
blockComment: ["/*", "*/"]
},
brackets: [
["{", "}"],
["[", "]"],
["(", ")"]
],
autoClosingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
],
surroundingPairs: [
{ open: "{", close: "}" },
{ open: "[", close: "]" },
{ open: "(", close: ")" },
{ open: '"', close: '"' },
{ open: "'", close: "'" }
]
};
const language = {
defaultToken: "",
tokenPostfix: ".sql",
ignoreCase: true,
brackets: [
{ open: "[", close: "]", token: "delimiter.square" },
{ open: "(", close: ")", token: "delimiter.parenthesis" }
],
keywords: [
"AES128",
"AES256",
"ALL",
"ALLOWOVERWRITE",
"ANALYSE",
"ANALYZE",
"AND",
"ANY",
"ARRAY",
"AS",
"ASC",
"AUTHORIZATION",
"AZ64",
"BACKUP",
"BETWEEN",
"BINARY",
"BLANKSASNULL",
"BOTH",
"BYTEDICT",
"BZIP2",
"CASE",
"CAST",
"CHECK",
"COLLATE",
"COLUMN",
"CONSTRAINT",
"CREATE",
"CREDENTIALS",
"CROSS",
"CURRENT_DATE",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
"CURRENT_USER_ID",
"DEFAULT",
"DEFERRABLE",
"DEFLATE",
"DEFRAG",
"DELTA",
"DELTA32K",
"DESC",
"DISABLE",
"DISTINCT",
"DO",
"ELSE",
"EMPTYASNULL",
"ENABLE",
"ENCODE",
"ENCRYPT",
"ENCRYPTION",
"END",
"EXCEPT",
"EXPLICIT",
"FALSE",
"FOR",
"FOREIGN",
"FREEZE",
"FROM",
"FULL",
"GLOBALDICT256",
"GLOBALDICT64K",
"GRANT",
"GROUP",
"GZIP",
"HAVING",
"IDENTITY",
"IGNORE",
"ILIKE",
"IN",
"INITIALLY",
"INNER",
"INTERSECT",
"INTO",
"IS",
"ISNULL",
"JOIN",
"LANGUAGE",
"LEADING",
"LEFT",
"LIKE",
"LIMIT",
"LOCALTIME",
"LOCALTIMESTAMP",
"LUN",
"LUNS",
"LZO",
"LZOP",
"MINUS",
"MOSTLY16",
"MOSTLY32",
"MOSTLY8",
"NATURAL",
"NEW",
"NOT",
"NOTNULL",
"NULL",
"NULLS",
"OFF",
"OFFLINE",
"OFFSET",
"OID",
"OLD",
"ON",
"ONLY",
"OPEN",
"OR",
"ORDER",
"OUTER",
"OVERLAPS",
"PARALLEL",
"PARTITION",
"PERCENT",
"PERMISSIONS",
"PLACING",
"PRIMARY",
"RAW",
"READRATIO",
"RECOVER",
"REFERENCES",
"RESPECT",
"REJECTLOG",
"RESORT",
"RESTORE",
"RIGHT",
"SELECT",
"SESSION_USER",
"SIMILAR",
"SNAPSHOT",
"SOME",
"SYSDATE",
"SYSTEM",
"TABLE",
"TAG",
"TDES",
"TEXT255",
"TEXT32K",
"THEN",
"TIMESTAMP",
"TO",
"TOP",
"TRAILING",
"TRUE",
"TRUNCATECOLUMNS",
"UNION",
"UNIQUE",
"USER",
"USING",
"VERBOSE",
"WALLET",
"WHEN",
"WHERE",
"WITH",
"WITHOUT"
],
operators: [
"AND",
"BETWEEN",
"IN",
"LIKE",
"NOT",
"OR",
"IS",
"NULL",
"INTERSECT",
"UNION",
"INNER",
"JOIN",
"LEFT",
"OUTER",
"RIGHT"
],
builtinFunctions: [
"current_schema",
"current_schemas",
"has_database_privilege",
"has_schema_privilege",
"has_table_privilege",
"age",
"current_time",
"current_timestamp",
"localtime",
"isfinite",
"now",
"ascii",
"get_bit",
"get_byte",
"set_bit",
"set_byte",
"to_ascii",
"approximate percentile_disc",
"avg",
"count",
"listagg",
"max",
"median",
"min",
"percentile_cont",
"stddev_samp",
"stddev_pop",
"sum",
"var_samp",
"var_pop",
"bit_and",
"bit_or",
"bool_and",
"bool_or",
"cume_dist",
"first_value",
"lag",
"last_value",
"lead",
"nth_value",
"ratio_to_report",
"dense_rank",
"ntile",
"percent_rank",
"rank",
"row_number",
"case",
"coalesce",
"decode",
"greatest",
"least",
"nvl",
"nvl2",
"nullif",
"add_months",
"at time zone",
"convert_timezone",
"current_date",
"date_cmp",
"date_cmp_timestamp",
"date_cmp_timestamptz",
"date_part_year",
"dateadd",
"datediff",
"date_part",
"date_trunc",
"extract",
"getdate",
"interval_cmp",
"last_day",
"months_between",
"next_day",
"sysdate",
"timeofday",
"timestamp_cmp",
"timestamp_cmp_date",
"timestamp_cmp_timestamptz",
"timestamptz_cmp",
"timestamptz_cmp_date",
"timestamptz_cmp_timestamp",
"timezone",
"to_timestamp",
"trunc",
"abs",
"acos",
"asin",
"atan",
"atan2",
"cbrt",
"ceil",
"ceiling",
"checksum",
"cos",
"cot",
"degrees",
"dexp",
"dlog1",
"dlog10",
"exp",
"floor",
"ln",
"log",
"mod",
"pi",
"power",
"radians",
"random",
"round",
"sin",
"sign",
"sqrt",
"tan",
"to_hex",
"bpcharcmp",
"btrim",
"bttext_pattern_cmp",
"char_length",
"character_length",
"charindex",
"chr",
"concat",
"crc32",
"func_sha1",
"initcap",
"left and rights",
"len",
"length",
"lower",
"lpad and rpads",
"ltrim",
"md5",
"octet_length",
"position",
"quote_ident",
"quote_literal",
"regexp_count",
"regexp_instr",
"regexp_replace",
"regexp_substr",
"repeat",
"replace",
"replicate",
"reverse",
"rtrim",
"split_part",
"strpos",
"strtol",
"substring",
"textlen",
"translate",
"trim",
"upper",
"cast",
"convert",
"to_char",
"to_date",
"to_number",
"json_array_length",
"json_extract_array_element_text",
"json_extract_path_text",
"current_setting",
"pg_cancel_backend",
"pg_terminate_backend",
"set_config",
"current_database",
"current_user",
"current_user_id",
"pg_backend_pid",
"pg_last_copy_count",
"pg_last_copy_id",
"pg_last_query_id",
"pg_last_unload_count",
"session_user",
"slice_num",
"user",
"version",
"abbrev",
"acosd",
"any",
"area",
"array_agg",
"array_append",
"array_cat",
"array_dims",
"array_fill",
"array_length",
"array_lower",
"array_ndims",
"array_position",
"array_positions",
"array_prepend",
"array_remove",
"array_replace",
"array_to_json",
"array_to_string",
"array_to_tsvector",
"array_upper",
"asind",
"atan2d",
"atand",
"bit",
"bit_length",
"bound_box",
"box",
"brin_summarize_new_values",
"broadcast",
"cardinality",
"center",
"circle",
"clock_timestamp",
"col_description",
"concat_ws",
"convert_from",
"convert_to",
"corr",
"cosd",
"cotd",
"covar_pop",
"covar_samp",
"current_catalog",
"current_query",
"current_role",
"currval",
"cursor_to_xml",
"diameter",
"div",
"encode",
"enum_first",
"enum_last",
"enum_range",
"every",
"family",
"format",
"format_type",
"generate_series",
"generate_subscripts",
"get_current_ts_config",
"gin_clean_pending_list",
"grouping",
"has_any_column_privilege",
"has_column_privilege",
"has_foreign_data_wrapper_privilege",
"has_function_privilege",
"has_language_privilege",
"has_sequence_privilege",
"has_server_privilege",
"has_tablespace_privilege",
"has_type_privilege",
"height",
"host",
"hostmask",
"inet_client_addr",
"inet_client_port",
"inet_merge",
"inet_same_family",
"inet_server_addr",
"inet_server_port",
"isclosed",
"isempty",
"isopen",
"json_agg",
"json_object",
"json_object_agg",
"json_populate_record",
"json_populate_recordset",
"json_to_record",
"json_to_recordset",
"jsonb_agg",
"jsonb_object_agg",
"justify_days",
"justify_hours",
"justify_interval",
"lastval",
"left",
"line",
"localtimestamp",
"lower_inc",
"lower_inf",
"lpad",
"lseg",
"make_date",
"make_interval",
"make_time",
"make_timestamp",
"make_timestamptz",
"masklen",
"mode",
"netmask",
"network",
"nextval",
"npoints",
"num_nonnulls",
"num_nulls",
"numnode",
"obj_description",
"overlay",
"parse_ident",
"path",
"pclose",
"percentile_disc",
"pg_advisory_lock",
"pg_advisory_lock_shared",
"pg_advisory_unlock",
"pg_advisory_unlock_all",
"pg_advisory_unlock_shared",
"pg_advisory_xact_lock",
"pg_advisory_xact_lock_shared",
"pg_backup_start_time",
"pg_blocking_pids",
"pg_client_encoding",
"pg_collation_is_visible",
"pg_column_size",
"pg_conf_load_time",
"pg_control_checkpoint",
"pg_control_init",
"pg_control_recovery",
"pg_control_system",
"pg_conversion_is_visible",
"pg_create_logical_replication_slot",
"pg_create_physical_replication_slot",
"pg_create_restore_point",
"pg_current_xlog_flush_location",
"pg_current_xlog_insert_location",
"pg_current_xlog_location",
"pg_database_size",
"pg_describe_object",
"pg_drop_replication_slot",
"pg_export_snapshot",
"pg_filenode_relation",
"pg_function_is_visible",
"pg_get_constraintdef",
"pg_get_expr",
"pg_get_function_arguments",
"pg_get_function_identity_arguments",
"pg_get_function_result",
"pg_get_functiondef",
"pg_get_indexdef",
"pg_get_keywords",
"pg_get_object_address",
"pg_get_owned_sequence",
"pg_get_ruledef",
"pg_get_serial_sequence",
"pg_get_triggerdef",
"pg_get_userbyid",
"pg_get_viewdef",
"pg_has_role",
"pg_identify_object",
"pg_identify_object_as_address",
"pg_index_column_has_property",
"pg_index_has_property",
"pg_indexam_has_property",
"pg_indexes_size",
"pg_is_in_backup",
"pg_is_in_recovery",
"pg_is_other_temp_schema",
"pg_is_xlog_replay_paused",
"pg_last_committed_xact",
"pg_last_xact_replay_timestamp",
"pg_last_xlog_receive_location",
"pg_last_xlog_replay_location",
"pg_listening_channels",
"pg_logical_emit_message",
"pg_logical_slot_get_binary_changes",
"pg_logical_slot_get_changes",
"pg_logical_slot_peek_binary_changes",
"pg_logical_slot_peek_changes",
"pg_ls_dir",
"pg_my_temp_schema",
"pg_notification_queue_usage",
"pg_opclass_is_visible",
"pg_operator_is_visible",
"pg_opfamily_is_visible",
"pg_options_to_table",
"pg_postmaster_start_time",
"pg_read_binary_file",
"pg_read_file",
"pg_relation_filenode",
"pg_relation_filepath",
"pg_relation_size",
"pg_reload_conf",
"pg_replication_origin_create",
"pg_replication_origin_drop",
"pg_replication_origin_oid",
"pg_replication_origin_progress",
"pg_replication_origin_session_is_setup",
"pg_replication_origin_session_progress",
"pg_replication_origin_session_reset",
"pg_replication_origin_session_setup",
"pg_replication_origin_xact_reset",
"pg_replication_origin_xact_setup",
"pg_rotate_logfile",
"pg_size_bytes",
"pg_size_pretty",
"pg_sleep",
"pg_sleep_for",
"pg_sleep_until",
"pg_start_backup",
"pg_stat_file",
"pg_stop_backup",
"pg_switch_xlog",
"pg_table_is_visible",
"pg_table_size",
"pg_tablespace_databases",
"pg_tablespace_location",
"pg_tablespace_size",
"pg_total_relation_size",
"pg_trigger_depth",
"pg_try_advisory_lock",
"pg_try_advisory_lock_shared",
"pg_try_advisory_xact_lock",
"pg_try_advisory_xact_lock_shared",
"pg_ts_config_is_visible",
"pg_ts_dict_is_visible",
"pg_ts_parser_is_visible",
"pg_ts_template_is_visible",
"pg_type_is_visible",
"pg_typeof",
"pg_xact_commit_timestamp",
"pg_xlog_location_diff",
"pg_xlog_replay_pause",
"pg_xlog_replay_resume",
"pg_xlogfile_name",
"pg_xlogfile_name_offset",
"phraseto_tsquery",
"plainto_tsquery",
"point",
"polygon",
"popen",
"pqserverversion",
"query_to_xml",
"querytree",
"quote_nullable",
"radius",
"range_merge",
"regexp_matches",
"regexp_split_to_array",
"regexp_split_to_table",
"regr_avgx",
"regr_avgy",
"regr_count",
"regr_intercept",
"regr_r2",
"regr_slope",
"regr_sxx",
"regr_sxy",
"regr_syy",
"right",
"row_security_active",
"row_to_json",
"rpad",
"scale",
"set_masklen",
"setseed",
"setval",
"setweight",
"shobj_description",
"sind",
"sprintf",
"statement_timestamp",
"stddev",
"string_agg",
"string_to_array",
"strip",
"substr",
"table_to_xml",
"table_to_xml_and_xmlschema",
"tand",
"text",
"to_json",
"to_regclass",
"to_regnamespace",
"to_regoper",
"to_regoperator",
"to_regproc",
"to_regprocedure",
"to_regrole",
"to_regtype",
"to_tsquery",
"to_tsvector",
"transaction_timestamp",
"ts_debug",
"ts_delete",
"ts_filter",
"ts_headline",
"ts_lexize",
"ts_parse",
"ts_rank",
"ts_rank_cd",
"ts_rewrite",
"ts_stat",
"ts_token_type",
"tsquery_phrase",
"tsvector_to_array",
"tsvector_update_trigger",
"tsvector_update_trigger_column",
"txid_current",
"txid_current_snapshot",
"txid_snapshot_xip",
"txid_snapshot_xmax",
"txid_snapshot_xmin",
"txid_visible_in_snapshot",
"unnest",
"upper_inc",
"upper_inf",
"variance",
"width",
"width_bucket",
"xml_is_well_formed",
"xml_is_well_formed_content",
"xml_is_well_formed_document",
"xmlagg",
"xmlcomment",
"xmlconcat",
"xmlelement",
"xmlexists",
"xmlforest",
"xmlparse",
"xmlpi",
"xmlroot",
"xmlserialize",
"xpath",
"xpath_exists"
],
builtinVariables: [
// NOT SUPPORTED
],
pseudoColumns: [
// NOT SUPPORTED
],
tokenizer: {
root: [
{ include: "@comments" },
{ include: "@whitespace" },
{ include: "@pseudoColumns" },
{ include: "@numbers" },
{ include: "@strings" },
{ include: "@complexIdentifiers" },
{ include: "@scopes" },
[/[;,.]/, "delimiter"],
[/[()]/, "@brackets"],
[
/[\w@#$]+/,
{
cases: {
"@keywords": "keyword",
"@operators": "operator",
"@builtinVariables": "predefined",
"@builtinFunctions": "predefined",
"@default": "identifier"
}
}
],
[/[<>=!%&+\-*/|~^]/, "operator"]
],
whitespace: [[/\s+/, "white"]],
comments: [
[/--+.*/, "comment"],
[/\/\*/, { token: "comment.quote", next: "@comment" }]
],
comment: [
[/[^*/]+/, "comment"],
// Not supporting nested comments, as nested comments seem to not be standard?
// i.e. http://stackoverflow.com/questions/728172/are-there-multiline-comment-delimiters-in-sql-that-are-vendor-agnostic
// [/\/\*/, { token: 'comment.quote', next: '@push' }], // nested comment not allowed :-(
[/\*\//, { token: "comment.quote", next: "@pop" }],
[/./, "comment"]
],
pseudoColumns: [
[
/[$][A-Za-z_][\w@#$]*/,
{
cases: {
"@pseudoColumns": "predefined",
"@default": "identifier"
}
}
]
],
numbers: [
[/0[xX][0-9a-fA-F]*/, "number"],
[/[$][+-]*\d*(\.\d*)?/, "number"],
[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/, "number"]
],
strings: [[/'/, { token: "string", next: "@string" }]],
string: [
[/[^']+/, "string"],
[/''/, "string"],
[/'/, { token: "string", next: "@pop" }]
],
complexIdentifiers: [[/"/, { token: "identifier.quote", next: "@quotedIdentifier" }]],
quotedIdentifier: [
[/[^"]+/, "identifier"],
[/""/, "identifier"],
[/"/, { token: "identifier.quote", next: "@pop" }]
],
scopes: [
// NOT SUPPORTED
]
}
};
exports.conf = conf;
exports.language = language;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
}));
Loaded 100 of 4134 files, more files were not shown because too many files have changed in this diff. Show more