Skip to content

Commit

Permalink
Update static/modes typing (#4582)
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremy-rifkin committed Jan 14, 2023
1 parent 33167a3 commit 59f8c45
Show file tree
Hide file tree
Showing 32 changed files with 131 additions and 178 deletions.
18 changes: 12 additions & 6 deletions static/modes/ada-mode.ts
Expand Up @@ -22,11 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

'use strict';
import * as monaco from 'monaco-editor';

const monaco = require('monaco-editor');

export function definition() {
export function definition(): monaco.languages.IMonarchLanguage {
// Ada 2012 Language Definition
return {
keywords: [
Expand Down Expand Up @@ -151,8 +149,16 @@ export function definition() {
'/=',
],
brackets: [
['(', ')', 'delimiter.parenthesis'],
['[', ']', 'delimiter.square'],
{
open: '(',
close: ')',
token: 'delimiter.parenthesis',
},
{
open: '[',
close: ']',
token: 'delimiter.square',
},
],
symbols: /[=><!~&|+\-*/^]+/,
delimiters: /[;=.:,`]/,
Expand Down
6 changes: 2 additions & 4 deletions static/modes/asm-mode.ts
Expand Up @@ -21,11 +21,9 @@
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import * as monaco from 'monaco-editor';

'use strict';
const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: 'invalid',
Expand Down
6 changes: 2 additions & 4 deletions static/modes/asm6502-mode.ts
Expand Up @@ -22,11 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

'use strict';
import * as monaco from 'monaco-editor';

const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
tokenizer: {
root: [
Expand Down
14 changes: 6 additions & 8 deletions static/modes/asmruby-mode.ts
Expand Up @@ -22,11 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

'use strict';
import * as monaco from 'monaco-editor';

const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
tokenizer: {
root: [
Expand All @@ -35,17 +33,17 @@ function definition() {
[/^(\| )*local table.*$/, 'comment'],
[/^(\| )*\[\s*\d+\].*$/, 'comment'],
[/^(\| )*\|-+$/, 'comment'],
[/^((?:\| )*)(\d+)/, ['comment', {token: 'number', next: '@opcode'}]],
[/^((?:\| )*)(\d+)(\s+)/, ['comment', 'number', {token: '', next: '@opcode'}]],
[/^((?:\| )*)(\d+)/, ['comment', 'number'], '@opcode'],
[/^((?:\| )*)(\d+)(\s+)/, ['comment', 'number'], '@opcode'],
],

opcode: [
[/[a-z_]\w*\s*$/, {token: 'keyword', next: '@root'}],
[/([a-z_]\w*)(\s+)/, ['keyword', {token: '', next: '@arguments'}]],
[/([a-z_]\w*)(\s+)/, 'keyword', '@arguments'],
],

arguments: [
[/(.*?)(\(\s*\d+\)(?:\[[^\]]+\])?)$/, ['', {token: 'comment', next: '@root'}]],
[/(.*?)(\(\s*\d+\)(?:\[[^\]]+\])?)$/, {token: 'comment', next: '@root'}],
[/.*$/, {token: '', next: '@root'}],
],
},
Expand Down
8 changes: 3 additions & 5 deletions static/modes/carbon-mode.ts
Expand Up @@ -22,12 +22,10 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

'use strict';
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
defaultToken: 'invalid', // for debugging

Expand Down
6 changes: 2 additions & 4 deletions static/modes/clean-mode.ts
Expand Up @@ -21,11 +21,9 @@
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import * as monaco from 'monaco-editor';

'use strict';
const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
keywords: [
'module',
Expand Down
27 changes: 8 additions & 19 deletions static/modes/cmake-mode.ts
Expand Up @@ -21,11 +21,9 @@
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import * as monaco from 'monaco-editor';

'use strict';
const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
symbols: /[=><!~?&|+\-*/^;.,]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
Expand Down Expand Up @@ -78,7 +76,7 @@ function definition() {
};
}

function configuration() {
function configuration(): monaco.languages.LanguageConfiguration {
return {
indentationRules: {
decreaseIndentPattern: /^(.*\*\/)?\s*\}.*$/,
Expand All @@ -92,20 +90,11 @@ function configuration() {
['{', '}'],
['(', ')'],
],
__electricCharacterSupport: {
brackets: [
{tokenType: 'delimiter.curly.ts', open: '{', close: '}', isElectric: true},
{tokenType: 'delimiter.square.ts', open: '[', close: ']', isElectric: true},
{tokenType: 'delimiter.paren.ts', open: '(', close: ')', isElectric: true},
],
},
__characterPairSupport: {
autoClosingPairs: [
{open: '{', close: '}'},
{open: '(', close: ')'},
{open: '"', close: '"', notIn: ['string']},
],
},
autoClosingPairs: [
{open: '{', close: '}'},
{open: '(', close: ')'},
{open: '"', close: '"', notIn: ['string']},
],
};
}

Expand Down
9 changes: 5 additions & 4 deletions static/modes/cpp-for-opencl-mode.ts
Expand Up @@ -24,13 +24,14 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
const cppp = require('./cppp-mode');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';

import * as cppp from './cppp-mode';

// We need to create a new definition for C++ for OpenCL so we can remove invalid keywords

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cppForOpenCL = $.extend(true, {}, cppp); // deep copy

function addKeywords(keywords) {
Expand Down
8 changes: 4 additions & 4 deletions static/modes/cppcircle-mode.ts
Expand Up @@ -24,13 +24,13 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
const cppp = require('./cppp-mode');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';
import * as cppp from './cppp-mode';

// circle is c++ with a few extra '@'-prefixed keywords.

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cppcircle = $.extend(true, {}, cppp); // deep copy

function addKeywords(keywords) {
Expand Down
8 changes: 4 additions & 4 deletions static/modes/cppfront-mode.ts
Expand Up @@ -24,11 +24,11 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
const cppp = require('./cppp-mode');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';
import * as cppp from './cppp-mode';

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cppfront = $.extend(true, {}, cppp); // deep copy
cppfront.tokenPostfix = '.herb';

Expand Down
6 changes: 3 additions & 3 deletions static/modes/cppp-mode.ts
Expand Up @@ -24,12 +24,12 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';

// We need to create a new definition for cpp so we can remove invalid keywords

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cppp = $.extend(true, {}, cpp.language); // deep copy

function removeKeyword(keyword) {
Expand Down
8 changes: 4 additions & 4 deletions static/modes/cppx-blue-mode.ts
Expand Up @@ -24,11 +24,11 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
const cppp = require('./cppp-mode');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';
import * as cppp from './cppp-mode';

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cppx_blue = $.extend(true, {}, cppp); // deep copy
cppx_blue.tokenPostfix = '.herb';

Expand Down
8 changes: 3 additions & 5 deletions static/modes/cppx-gold-mode.ts
Expand Up @@ -23,11 +23,9 @@
// POSSIBILITY OF SUCH DAMAGE.

// Originally based on `./d-mode.js` by the Compiler Explorer Authors
import * as monaco from 'monaco-editor';

'use strict';
const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
defaultToken: '',

Expand Down Expand Up @@ -273,7 +271,7 @@ function definition() {
};
}

function configuration() {
function configuration(): monaco.languages.LanguageConfiguration {
return {
comments: {
lineComment: '#',
Expand Down
8 changes: 3 additions & 5 deletions static/modes/crystal-mode.ts
Expand Up @@ -22,11 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

'use strict';
import * as monaco from 'monaco-editor';

const monaco = require('monaco-editor');

function configuration() {
function configuration(): monaco.languages.LanguageConfiguration {
return {
comments: {
lineComment: '#',
Expand Down Expand Up @@ -68,7 +66,7 @@ function configuration() {
};
}

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
keywords: [
'abstract',
Expand Down
8 changes: 4 additions & 4 deletions static/modes/cuda-mode.ts
Expand Up @@ -24,13 +24,13 @@

import $ from 'jquery';

const monaco = require('monaco-editor');
const cpp = require('monaco-editor/esm/vs/basic-languages/cpp/cpp');
const cppp = require('./cppp-mode');
import * as monaco from 'monaco-editor';
import * as cpp from 'monaco-editor/esm/vs/basic-languages/cpp/cpp';
import * as cppp from './cppp-mode';

// We need to create a new definition for cpp so we can remove invalid keywords

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
const cuda = $.extend(true, {}, cppp); // deep copy

function addKeywords(keywords) {
Expand Down
8 changes: 3 additions & 5 deletions static/modes/d-mode.ts
Expand Up @@ -21,11 +21,9 @@
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import * as monaco from 'monaco-editor';

'use strict';
const monaco = require('monaco-editor');

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
defaultToken: 'invalid',

Expand Down Expand Up @@ -302,7 +300,7 @@ function definition() {
};
}

function configuration() {
function configuration(): monaco.languages.LanguageConfiguration {
return {
comments: {
lineComment: '//',
Expand Down
12 changes: 6 additions & 6 deletions static/modes/erlang-mode.ts
Expand Up @@ -22,9 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

const monaco = require('monaco-editor');
import * as monaco from 'monaco-editor';

function definition() {
function definition(): monaco.languages.IMonarchLanguage {
return {
commands: ['-module', '-export', '-compile', '-record'],

Expand Down Expand Up @@ -86,7 +86,7 @@ function definition() {
[/[;.,]/, 'delimiter'],
],

whitespace: [[/\s/]],
whitespace: [[/\s/, 'whitespace']],

comment: [[/%/, 'comment']],

Expand All @@ -105,7 +105,7 @@ function definition() {
};
}

function configuration() {
function configuration(): monaco.languages.LanguageConfiguration {
return {
comments: {
lineComment: '%',
Expand All @@ -126,8 +126,8 @@ function configuration() {
],
folding: {
markers: {
start: '^\\s*\\%\\%region\\b',
end: '^\\s*\\%\\%endregion\\b',
start: /^\s*%%region\b/,
end: /^\s*%%endregion\b/,
},
},
};
Expand Down

0 comments on commit 59f8c45

Please sign in to comment.