diff --git a/.gitpod.yml b/.gitpod.yml index 13fb20587..e784cce0b 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -4,9 +4,6 @@ tasks: - init: | yarn yarn build - mkdir -p lib/vscode/out - sed -i 's/The Web Worker Extension Host did not start in 10s/The Web Worker Extension Host did not start in 60s/g' ./lib/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts - sed -i 's/}, 10000);/}, 60000);/g' ./lib/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts command: | echo "=======================" echo "Please run 'yarn watch'" diff --git a/README.md b/README.md index 788e3cf93..3490d22b0 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,7 @@ javascript: window.location.href = window.location.href.replace(/github(1s)?.com ### Develop in the cloud -To edit files, run Docker containers, create pull requests and more, click the "[Gitpod](https://www.gitpod.io) ready-to-code" button at the bottom of your browser once you open your project with github1s. - -![Gitpod Notification](https://raw.githubusercontent.com/conwnet/github1s/master/resources/images/gitpod-notification.png) - -_Note_: If you already closed the notification, you can find a "Develop your project on Gitpod" button in the status bar. You can also open the Command Palette (default shortcut `Ctrl+Shift+P`) and choose `GitHub1s: Edit files in Gitpod`. +To edit files, run Docker containers, create pull requests and more, click the "Develop your project on [Gitpod](https://www.gitpod.io)" button in the status bar. You can also open the Command Palette (default shortcut `Ctrl+Shift+P`) and choose `GitHub1s: Edit files in Gitpod`. ![Gitpod Status Bar](https://raw.githubusercontent.com/conwnet/github1s/master/resources/images/gitpod-statusbar.png) diff --git a/docs/guide.md b/docs/guide.md index ee9db7027..3c559620c 100644 --- a/docs/guide.md +++ b/docs/guide.md @@ -1,6 +1,6 @@ # How it works -GitHub1s is based on [VS Code 1.52.1](https://github.com/microsoft/vscode/tree/1.52.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). +GitHub1s is based on [VS Code 1.55.0](https://github.com/microsoft/vscode/tree/1.52.1) now. VS Code can be built for a browser version officially. I also used the code and got inspired by [Code Server](https://github.com/cdr/code-server). Thanks to the very powerful and flexible extensibility of VS Code, we can easily implement a VS Code extension that provides the custom File IO ability using [FileSystemProvider API](https://code.visualstudio.com/api/references/vscode-api#FileSystemProvider). There is an official demo named [vscode-web-playground](https://github.com/microsoft/vscode-web-playground) which shows how it is used. diff --git a/extensions/julia-web/LICENSE b/extensions/julia-web/LICENSE deleted file mode 100644 index e8f99b8aa..000000000 --- a/extensions/julia-web/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2012-2019 David Anthoff, Zac Nugent and other contributors: - -https://github.com/JuliaLang/Julia.tmbundle/contributors -https://github.com/julia-vscode/julia-vscode/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. diff --git a/extensions/julia-web/README.md b/extensions/julia-web/README.md deleted file mode 100644 index 02261f610..000000000 --- a/extensions/julia-web/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# This extension is a fork from [julia-vscode](https://github.com/julia-vscode/julia-vscode) for github1s. - -# At present only languages features is reserved - -# I have deleted some files and only reserved the necessary code - -# Julia - -[![Build Status](https://dev.azure.com/julia-vscode/julia-vscode/_apis/build/status/julia-vscode.julia-vscode?branchName=master)](https://dev.azure.com/julia-vscode/julia-vscode/_build/latest?definitionId=1&branchName=master) - -This [VS Code](https://code.visualstudio.com) extension provides support for the [Julia programming language](http://julialang.org/). - -## Getting started - -### Installing Julia/VS Code/VS Code Julia extension - -1. Install Julia for your platform: https://julialang.org/downloads/ -2. Install VS Code for your platform: https://code.visualstudio.com/download - At the end of this step you should be able to start VS Code. -3. Install the Julia VS Code extension: - 1. Start VS Code. - 2. Inside VS Code, go to the extensions view either by - executing the `View: Show Extensions` command (click View->Command Palette...) - or by clicking on the extension icon on the left side of the VS Code - window. - 3. In the extensions view, simply search for the term `julia` in the marketplace - search box, then select the extension named `Julia` and click the install button. - You might have to restart VS Code after this step. - - -## Features - -The extension currently provides: - -- syntax highlighting -- [a linter](https://github.com/julia-vscode/julia-vscode/wiki/Information#linter) -- [code navigation](https://github.com/julia-vscode/julia-vscode/wiki/Navigation) -- a plot gallery -- a grid viewer for tabular data -- integrated support for Weave.jl - -## Documentation - -The [documentation](https://www.julia-vscode.org/docs/stable/) -has sections that describe the features of this extension (including -e.g. keyboard shortcuts). This repo also has legacy docs in the -[wiki](https://github.com/julia-vscode/julia-vscode/wiki). - -## Known issues and workarounds - -Please visit the [known issues and workarounds](https://github.com/julia-vscode/julia-vscode/wiki/Known-issues-and-workarounds) -for up-to-date information about known issues and solutions for those -problems. - -## Data/Telemetry - -The Julia extension for Visual Studio Code collects usage data and sends it to the development team to help improve the extension. Read our [privacy policy](https://github.com/julia-vscode/julia-vscode/wiki/Privacy-Policy) to learn more and how to disable any telemetry. diff --git a/extensions/julia-web/images/julia-logo.png b/extensions/julia-web/images/julia-logo.png deleted file mode 100644 index 54541beb9..000000000 Binary files a/extensions/julia-web/images/julia-logo.png and /dev/null differ diff --git a/extensions/julia-web/julia.language-configuration.json b/extensions/julia-web/julia.language-configuration.json deleted file mode 100644 index 6002cd799..000000000 --- a/extensions/julia-web/julia.language-configuration.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "comments": { - // symbol used for single line comment. Remove this entry if your language does not support line comments - "lineComment": "#", - // symbols used for start and end a block comment. Remove this entry if your language does not support block comments - "blockComment": [ - "#=", - "=#" - ] - }, - // symbols used as brackets - "brackets": [ - [ - "{", - "}" - ], - [ - "[", - "]" - ], - [ - "(", - ")" - ] - ], - // symbols that are auto closed when typing - "autoClosingPairs": [ - [ - "{", - "}" - ], - [ - "[", - "]" - ], - [ - "(", - ")" - ], - [ - "`", - "`" - ], - { - "open": "\"", - "close": "\"", - "notIn": [ - "string", - "comment" - ] - } - ], - // symbols that that can be used to surround a selection - "surroundingPairs": [ - [ - "{", - "}" - ], - [ - "[", - "]" - ], - [ - "(", - ")" - ], - [ - "\"", - "\"" - ], - [ - "`", - "`" - ], - [ - "'", - "'" - ] - ], - "folding": { - "markers": { - "start": "^\\s*#region", - "end": "^\\s*#endregion" - } - } -} \ No newline at end of file diff --git a/extensions/julia-web/package.json b/extensions/julia-web/package.json deleted file mode 100644 index 70c4eccda..000000000 --- a/extensions/julia-web/package.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "name": "language-julia", - "displayName": "Julia", - "description": "Julia Language Support", - "version": "1.1.26", - "preview": false, - "publisher": "julialang", - "engines": { - "vscode": "^1.52.0" - }, - "license": "SEE LICENSE IN LICENSE", - "bugs": { - "url": "https://github.com/julia-vscode/julia-vscode/issues" - }, - "homepage": "https://www.julia-vscode.org/", - "repository": { - "type": "git", - "url": "https://github.com/julia-vscode/julia-vscode.git" - }, - "icon": "images/julia-logo.png", - "categories": [ - "Programming Languages", - "Snippets", - "Linters", - "Debuggers" - ], - "activationEvents": [ - "onLanguage:julia", - "onLanguage:juliamarkdown" - ], - "contributes": { - "languages": [ - { - "id": "julia", - "aliases": [ - "Julia", - "julia" - ], - "extensions": [ - ".jl" - ], - "firstLine": "^#!\\s*/.*\\bjulia[0-9.-]*\\b", - "configuration": "./julia.language-configuration.json" - }, - { - "id": "juliamarkdown", - "aliases": [ - "Julia Markdown", - "juliamarkdown" - ], - "extensions": [ - ".jmd" - ] - } - ], - "grammars": [ - { - "language": "julia", - "scopeName": "source.julia", - "path": "./syntaxes/julia.json", - "embeddedLanguages": { - "meta.embedded.inline.cpp": "cpp", - "meta.embedded.inline.javascript": "javascript", - "meta.embedded.inline.markdown": "juliamarkdown", - "meta.embedded.inline.python": "python", - "meta.embedded.inline.r": "r" - } - }, - { - "language": "juliamarkdown", - "scopeName": "text.html.markdown.julia", - "path": "./syntaxes/juliamarkdown.json" - }, - { - "scopeName": "markdown.julia.codeblock", - "path": "./syntaxes/juliacodeblock.json", - "injectTo": [ - "text.html.markdown" - ], - "embeddedLanguages": { - "meta.embedded.block.julia": "julia" - } - } - ] - }, - "scripts": { - "compile": "echo done", - "watch": "echo done" - } -} diff --git a/extensions/julia-web/syntaxes/julia.json b/extensions/julia-web/syntaxes/julia.json deleted file mode 100644 index 158fa6479..000000000 --- a/extensions/julia-web/syntaxes/julia.json +++ /dev/null @@ -1,1109 +0,0 @@ -{ - "comment": "This grammar is used by Atom (Oniguruma), GitHub (PCRE), and VSCode (Oniguruma),\nso all regexps must be compatible with both engines.\n\nSpecs:\n- https://github.com/kkos/oniguruma/blob/master/doc/RE\n- https://www.pcre.org/current/doc/html/", - "fileTypes": ["jl"], - "firstLineMatch": "^#!.*\\bjulia\\s*$", - "name": "Julia", - "patterns": [ - { - "include": "#operator" - }, - { - "include": "#array" - }, - { - "include": "#string" - }, - { - "include": "#bracket" - }, - { - "include": "#function_decl" - }, - { - "include": "#function_call" - }, - { - "include": "#keyword" - }, - { - "include": "#number" - }, - { - "include": "#comment" - }, - { - "include": "#type_decl" - }, - { - "include": "#symbol" - } - ], - "repository": { - "array": { - "patterns": [ - { - "begin": "\\[", - "beginCaptures": { - "0": { - "name": "meta.bracket.julia" - } - }, - "end": "(?:\\])(?:(\\.)?'*)", - "endCaptures": { - "0": { - "name": "meta.bracket.julia" - }, - "1": { - "name": "keyword.operator.transpose.julia" - } - }, - "name": "meta.array.julia", - "patterns": [ - { - "match": "\\bbegin\\b", - "name": "constant.numeric.julia" - }, - { - "match": "\\bend\\b", - "name": "constant.numeric.julia" - }, - { - "match": "\\bfor\\b", - "name": "keyword.control.julia" - }, - { - "include": "$self" - } - ] - } - ] - }, - "bracket": { - "patterns": [ - { - "match": "(?:\\(|\\)|\\[|\\]|\\{|\\}|,|;)(?!('|(?:\\.'))*\\.?')", - "name": "meta.bracket.julia" - } - ] - }, - "comment": { - "patterns": [ - { - "include": "#comment_block" - }, - { - "begin": "#", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.julia" - } - }, - "end": "\\n", - "name": "comment.line.number-sign.julia" - } - ] - }, - "comment_block": { - "patterns": [ - { - "begin": "#=", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.begin.julia" - } - }, - "end": "=#", - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.end.julia" - } - }, - "name": "comment.block.number-sign-equals.julia", - "patterns": [ - { - "include": "#comment_block" - } - ] - } - ] - }, - "function_call": { - "patterns": [ - { - "begin": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?\\.?(?=\\()", - "beginCaptures": { - "1": { - "name": "support.function.julia" - }, - "2": { - "name": "support.type.julia" - } - }, - "end": "\\)(('|(\\.'))*\\.?')?", - "endCaptures": { - "0": { - "name": "meta.bracket.julia" - }, - "1": { - "name": "keyword.operator.transposed-func.julia" - } - }, - "patterns": [ - { - "match": "\\bfor\\b", - "name": "keyword.control.julia" - }, - { - "include": "$self" - } - ] - } - ] - }, - "function_decl": { - "patterns": [ - { - "captures": { - "1": { - "name": "entity.name.function.julia" - }, - "2": { - "name": "support.type.julia" - } - }, - "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?(?=\\(.*\\)(::[^\\s]+)?(\\s*\\bwhere\\b\\s+.+?)?\\s*?=(?![=>]))", - "comment": "first group is function name\nSecond group is type parameters (e.g. {T<:Number, S})\nThen open parens\nThen a lookahead ensures that we are followed by:\n - anything (function argumnets)\n - 0 or more spaces\n - Finally an equal sign\nNegative lookahead ensures we don't have another equal sign (not `==`)" - }, - { - "captures": { - "1": { - "name": "keyword.other.julia" - }, - "2": { - "name": "keyword.operator.dots.julia" - }, - "3": { - "name": "entity.name.function.julia" - }, - "4": { - "name": "support.type.julia" - } - }, - "match": "\\b(function|macro)(?:\\s+(?:(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(\\.))?((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)({(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})?|\\s*)(?=\\()", - "comment": "similar regex to previous, but with keyword not 1-line syntax" - } - ] - }, - "keyword": { - "patterns": [ - { - "match": "\\b(?|<-|-->|=>)", - "name": "keyword.operator.arrow.julia" - }, - { - "match": "(?::=|\\+=|-=|\\*=|//=|/=|\\.//=|\\./=|\\.\\*=|\\\\=|\\.\\\\=|\\^=|\\.\\^=|%=|\\.%=|÷=|\\.÷=|\\|=|&=|\\.&=|⊻=|\\.⊻=|\\$=|<<=|>>=|>>>=|=(?!=))", - "name": "keyword.operator.update.julia" - }, - { - "match": "(?:<<|>>>|>>|\\.>>>|\\.>>|\\.<<)", - "name": "keyword.operator.shift.julia" - }, - { - "match": "(?:\\s*(::|>:|<:)\\s*((?:(?:Union)?\\([^)]*\\)|[[:alpha:]_$∇][[:word:]⁺-ₜ!′\\.]*(?:(?:{(?:[^{}]|{(?:[^{}]|{[^{}]*})*})*})|(?:\".+?(?=|\\.>|\\.<=|\\.<|\\.≤|\\.≥|==|\\.!=|\\.=|\\.!|<:|>:|:>|(?)>=|(?|<|≥|≤)", - "name": "keyword.operator.relation.julia" - }, - { - "match": "(?<=\\s)(?:\\?)(?=\\s)", - "name": "keyword.operator.ternary.julia" - }, - { - "match": "(?<=\\s)(?:\\:)(?=\\s)", - "name": "keyword.operator.ternary.julia" - }, - { - "match": "(?:\\|\\||&&|(?)", - "name": "keyword.operator.applies.julia" - }, - { - "match": "(?:\\||\\.\\||\\&|\\.\\&|~|\\.~|⊻|\\.⊻)", - "name": "keyword.operator.bitwise.julia" - }, - { - "match": "(?:\\+\\+|--|\\+|\\.\\+|-|\\.\\-|\\*|\\.\\*|//(?!=)|\\.//(?!=)|/|\\./|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^|÷|\\.÷|⋅|\\.⋅|∩|\\.∩|∪|\\.∪|×|√|∛)", - "name": "keyword.operator.arithmetic.julia" - }, - { - "match": "(?:∘)", - "name": "keyword.operator.compose.julia" - }, - { - "match": "(?:::|(?<=\\s)isa(?=\\s))", - "name": "keyword.operator.isa.julia" - }, - { - "match": "(?:(?<=\\s)in(?=\\s))", - "name": "keyword.operator.relation.in.julia" - }, - { - "match": "(?:\\.(?=(?:@|_|\\p{L}))|\\.\\.+)", - "name": "keyword.operator.dots.julia" - }, - { - "match": "(?:\\$(?=.+))", - "name": "keyword.operator.interpolation.julia" - }, - { - "captures": { - "2": { - "name": "keyword.operator.transposed-variable.julia" - } - }, - "match": "((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(('|(\\.'))*\\.?')" - }, - { - "captures": { - "1": { - "name": "bracket.end.julia" - }, - "2": { - "name": "keyword.operator.transposed-matrix.julia" - } - }, - "match": "(\\])((?:'|(?:\\.'))*\\.?')" - }, - { - "captures": { - "1": { - "name": "bracket.end.julia" - }, - "2": { - "name": "keyword.operator.transposed-parens.julia" - } - }, - "match": "(\\))((?:'|(?:\\.'))*\\.?')" - } - ] - }, - "string": { - "patterns": [ - { - "begin": "(?:(@doc)\\s((?:doc)?\"\"\")|(doc\"\"\"))", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "(\"\"\") ?(->)?", - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.julia" - }, - "2": { - "name": "keyword.operator.arrow.julia" - } - }, - "name": "string.docstring.julia", - "patterns": [ - { - "include": "#string_escaped_char" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(i?cxx)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.cxx.julia", - "contentName": "meta.embedded.inline.cpp", - "patterns": [ - { - "include": "source.cpp#root_context" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "((i?cxxt?)|([rpv]cpp))(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "4": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "name": "embed.cxx.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "contentName": "meta.embedded.inline.cpp", - "patterns": [ - { - "include": "source.cpp#root_context" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(py)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "([\\s\\w]*)(\"\"\")", - "endCaptures": { - "2": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.python.julia", - "contentName": "meta.embedded.inline.python", - "patterns": [ - { - "include": "source.python" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(py)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "(\\w*)(\")", - "name": "embed.python.julia", - "endCaptures": { - "2": { - "name": "punctuation.definition.string.end.julia" - } - }, - "contentName": "meta.embedded.inline.python", - "patterns": [ - { - "include": "source.python" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(js)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.js.julia", - "contentName": "meta.embedded.inline.javascript", - "patterns": [ - { - "include": "source.js" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(js)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "name": "embed.js.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "contentName": "meta.embedded.inline.javascript", - "patterns": [ - { - "include": "source.js" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(R)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.R.julia", - "contentName": "meta.embedded.inline.r", - "patterns": [ - { - "include": "source.r" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(R)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "name": "embed.R.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "contentName": "meta.embedded.inline.r", - "patterns": [ - { - "include": "source.r" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(raw)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "name": "string.quoted.other.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - } - }, - { - "begin": "(raw)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "name": "string.quoted.other.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - } - }, - { - "begin": "(sql)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.sql.julia", - "contentName": "meta.embedded.inline.sql", - "patterns": [ - { - "include": "source.sql" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(sql)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.sql.julia", - "contentName": "meta.embedded.inline.sql", - "patterns": [ - { - "include": "source.sql" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "var\"\"\"", - "end": "\"\"\"", - "name": "constant.other.symbol.julia" - }, - { - "begin": "var\"", - "end": "\"", - "name": "constant.other.symbol.julia" - }, - { - "begin": "(md)(\"\"\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"\"\"", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "embed.markdown.julia", - "contentName": "meta.embedded.inline.markdown", - "patterns": [ - { - "include": "text.md" - }, - { - "include": "text.html.markdown.julia" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "(md)(\")", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "\"", - "name": "embed.markdown.julia", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "contentName": "meta.embedded.inline.markdown", - "patterns": [ - { - "include": "text.md" - }, - { - "include": "text.html.markdown.julia" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "^\\s?(doc)?(\"\"\")\\s?$", - "beginCaptures": { - "1": { - "name": "support.function.macro.julia" - }, - "2": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "(\"\"\")", - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "string.docstring.julia", - "comment": "This only matches docstrings that start and end with triple quotes on\ntheir own line in the void", - "patterns": [ - { - "include": "#string_escaped_char" - }, - { - "include": "#string_dollar_sign_interpolate" - } - ] - }, - { - "begin": "'", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.julia" - } - }, - "end": "'(?!')", - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.julia" - } - }, - "name": "string.quoted.single.julia", - "patterns": [ - { - "include": "#string_escaped_char" - } - ] - }, - { - "begin": "(?!:_)(?:struct|mutable\\s+struct|abstract\\s+type|primitive\\s+type)\\s+((?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*)(\\s*(<:)\\s*(?:[[:alpha:]_\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{So}←-⇿])(?:[[:word:]_!\\p{Lu}\\p{Ll}\\p{Lt}\\p{Lm}\\p{Lo}\\p{Nl}\\p{Sc}⅀-⅄∿⊾⊿⊤⊥∂∅-∇∎∏∐∑∞∟∫-∳⋀-⋃◸-◿♯⟘⟙⟀⟁⦰-⦴⨀-⨆⨉-⨖⨛⨜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃ⁱ-⁾₁-₎∠-∢⦛-⦯℘℮゛-゜𝟎-𝟡]|[^\\P{Mn}\u0001-¡]|[^\\P{Mc}\u0001-¡]|[^\\P{Nd}\u0001-¡]|[^\\P{Pc}\u0001-¡]|[^\\P{Sk}\u0001-¡]|[^\\P{Me}\u0001-¡]|[^\\P{No}\u0001-¡]|[′-‷⁗]|[^\\P{So}←-⇿])*(?:{.*})?)?", - "name": "meta.type.julia" - } - ] - } - }, - "scopeName": "source.julia" -} diff --git a/extensions/julia-web/syntaxes/juliacodeblock.json b/extensions/julia-web/syntaxes/juliacodeblock.json deleted file mode 100644 index 075897044..000000000 --- a/extensions/julia-web/syntaxes/juliacodeblock.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "fileTypes": [], - "injectionSelector": "L:text.html.markdown", - "patterns": [ - { - "include": "#julia-code-block" - } - ], - "repository": { - "julia-code-block": { - "begin": "(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(julia|jl(doctest)?))((;|\\s)([^`~]*))?$", - "name": "markup.fenced_code.block.markdown", - "end": "(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$", - "beginCaptures": { - "3": { - "name": "punctuation.definition.markdown" - }, - "4": { - "name": "fenced_code.block.language" - }, - "7": { - "name": "punctuation.definition.markdown" - }, - "8": { - "name": "fenced_code.block.language.attributes" - } - }, - "endCaptures": { - "3": { - "name": "punctuation.definition.markdown" - } - }, - "patterns": [ - { - "begin": "(^|\\G)(\\s*)(.*)", - "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)", - "contentName": "meta.embedded.block.julia", - "patterns": [ - { - "include": "source.julia" - } - ] - } - ] - } - }, - "scopeName": "markdown.julia.codeblock" -} diff --git a/extensions/julia-web/syntaxes/juliamarkdown.json b/extensions/julia-web/syntaxes/juliamarkdown.json deleted file mode 100644 index 39ea93055..000000000 --- a/extensions/julia-web/syntaxes/juliamarkdown.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "julia Markdown", - "scopeName": "text.html.markdown.julia", - "fileTypes": ["jmd"], - "patterns": [ - { - "include": "markdown.julia.codeblock" - }, - { - "include": "text.html.markdown" - } - ] -} diff --git a/extensions/julia-web/syntaxes/update_syntax.jl b/extensions/julia-web/syntaxes/update_syntax.jl deleted file mode 100755 index f2839e700..000000000 --- a/extensions/julia-web/syntaxes/update_syntax.jl +++ /dev/null @@ -1,26 +0,0 @@ -grammar_file_path = joinpath(@__DIR__, "../syntaxes/julia.json") - -# convert cson to json -json = Ref(read(grammar_file_path, String)) - -# apply substitutions -sub!(pr) = json.x = replace(json.x, pr; count = typemax(Int)) - -sub!(r"(\"include\"\s*:\s*\")source\.gfm(\")" => s"\1text.html.markdown.julia\2") - -# Skip over-zealous top-level production in `source.cpp`. See offending pattern here: -# https://github.com/microsoft/vscode/blob/c3fe2d8acde04e579880413ae4622a1f551efdcc/extensions/cpp/syntaxes/cpp.tmLanguage.json#L745 -sub!(r"(\"include\"\s*:\s*\"source\.cpp)(\")" => s"\1#root_context\2") - -# Choose content names consistent with the vscode conventions for embedded code. Cf.: -# https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide#embedded-languages -sub!(r"(\"contentName\"\s*:\s*\")source\.cpp(\")" => s"\1meta.embedded.inline.cpp\2") -sub!(r"(\"contentName\"\s*:\s*\")source\.gfm(\")" => s"\1meta.embedded.inline.markdown\2") -sub!(r"(\"contentName\"\s*:\s*\")source\.js(\")" => s"\1meta.embedded.inline.javascript\2") -sub!(r"(\"contentName\"\s*:\s*\")source\.r(\")" => s"\1meta.embedded.inline.r\2") -sub!(r"(\"contentName\"\s*:\s*\")source\.python(\")" => s"\1meta.embedded.inline.python\2") - -# print out the transformed syntax -open(grammar_file_path, "w") do f - println(f, json.x) -end diff --git a/extensions/svelte-web/syntaxes/svelte.tmLanguage.json b/extensions/svelte-web/syntaxes/svelte.tmLanguage.json index cad5cf059..a77e9c52c 100644 --- a/extensions/svelte-web/syntaxes/svelte.tmLanguage.json +++ b/extensions/svelte-web/syntaxes/svelte.tmLanguage.json @@ -1,7 +1,9 @@ { "name": "Svelte Component", "scopeName": "source.svelte", - "fileTypes": ["svelte"], + "fileTypes": [ + "svelte" + ], "uuid": "7582b62f-51d9-4a84-8c8d-fc189530faf6", "injections": { "L:meta.script.svelte meta.lang.javascript - (meta source)": { diff --git a/package.json b/package.json index 7d72a6712..571200832 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "lib": "lib" }, "devDependencies": { - "@github1s/vscode-web": "0.0.3", + "@github1s/vscode-web": "0.1.2", "@typescript-eslint/eslint-plugin": "^4.15.0", "@typescript-eslint/parser": "^4.15.0", "chokidar": "^3.5.1", @@ -23,8 +23,8 @@ "prettier": "^2.2.1", "serve-handler": "^6.1.3", "start-server-and-test": "^1.12.0", - "yalc": "^1.0.0-pre.50", - "typescript": "^4.1.3" + "typescript": "^4.1.3", + "yalc": "^1.0.0-pre.50" }, "scripts": { "preinstall": "./scripts/pre-install.sh", @@ -38,9 +38,9 @@ "hash": "./scripts/hash.sh", "package": "./scripts/package.sh", "watch": "rm -rf dist && run-p watch:*", - "watch-with-vscode": "run-p watch watch-vscode", + "watch-with-vscode": "DEV_VSCODE=true run-p watch watch-vscode", "watch-vscode": "cd vscode-web-github1s && yarn watch", - "watch:setup": "./scripts/watch.sh", + "watch:setup": "./scripts/watch-setup.sh", "watch:dist": "cd scripts/watch && node watch-dist.js", "watch:github1s-extension": "cd extensions/github1s && yarn dev", "serve": "node ./scripts/serve-dist.js", diff --git a/resources/images/gitpod-notification.png b/resources/images/gitpod-notification.png deleted file mode 100644 index 0ae812382..000000000 Binary files a/resources/images/gitpod-notification.png and /dev/null differ diff --git a/resources/index-dev.html b/resources/index-dev-vscode.html similarity index 92% rename from resources/index-dev.html rename to resources/index-dev-vscode.html index 5323226ac..6b19e3344 100644 --- a/resources/index-dev.html +++ b/resources/index-dev-vscode.html @@ -1,11 +1,6 @@ - You need to enable JavaScript to run this app. }; - + + GitHub1s @@ -165,9 +162,6 @@

You need to enable JavaScript to run this app.

- + + GitHub1s @@ -165,9 +162,6 @@

You need to enable JavaScript to run this app.

-