mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 18:32:56 +01:00
Merge pull request #27 from templarbit/master
Support Content-Security-Policy syntax highlighting
This commit is contained in:
commit
b7b82b5d4f
5 changed files with 82 additions and 2 deletions
|
|
@ -81,7 +81,8 @@ gulp.task('release', ['clean-release','compile'], function() {
|
||||||
bundleOne('src/mysql'),
|
bundleOne('src/mysql'),
|
||||||
bundleOne('src/redshift'),
|
bundleOne('src/redshift'),
|
||||||
bundleOne('src/pgsql'),
|
bundleOne('src/pgsql'),
|
||||||
bundleOne('src/redis')
|
bundleOne('src/redis'),
|
||||||
|
bundleOne('src/csp')
|
||||||
)
|
)
|
||||||
.pipe(uglify({
|
.pipe(uglify({
|
||||||
output: {
|
output: {
|
||||||
|
|
|
||||||
61
src/csp.ts
Normal file
61
src/csp.ts
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
|
||||||
|
import ILanguage = monaco.languages.IMonarchLanguage;
|
||||||
|
|
||||||
|
export const conf: IRichLanguageConfiguration = {
|
||||||
|
brackets: [],
|
||||||
|
autoClosingPairs: [],
|
||||||
|
surroundingPairs: []
|
||||||
|
};
|
||||||
|
|
||||||
|
export const language = <ILanguage>{
|
||||||
|
// 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']
|
||||||
|
]
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -300,3 +300,10 @@ registerLanguage({
|
||||||
aliases: ['redis'],
|
aliases: ['redis'],
|
||||||
module: './redis'
|
module: './redis'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerLanguage({
|
||||||
|
id: 'csp',
|
||||||
|
extensions: [],
|
||||||
|
aliases: ['CSP', 'csp'],
|
||||||
|
module: './csp'
|
||||||
|
});
|
||||||
|
|
@ -62,7 +62,8 @@ requirejs([
|
||||||
'out/test/mysql.test',
|
'out/test/mysql.test',
|
||||||
'out/test/pgsql.test',
|
'out/test/pgsql.test',
|
||||||
'out/test/redshift.test',
|
'out/test/redshift.test',
|
||||||
'out/test/redis.test'
|
'out/test/redis.test',
|
||||||
|
'out/test/csp.test',
|
||||||
], function() {
|
], function() {
|
||||||
run(); // We can launch the tests!
|
run(); // We can launch the tests!
|
||||||
});
|
});
|
||||||
|
|
|
||||||
10
test/csp.test.ts
Normal file
10
test/csp.test.ts
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
import { testTokenization } from './testRunner';
|
||||||
|
|
||||||
|
testTokenization('csp', []);
|
||||||
Loading…
Add table
Add a link
Reference in a new issue