1
0
Fork 0
mirror of https://github.com/janickiy/yii2-nomer synced 2025-03-09 15:39:59 +00:00

add files to project

This commit is contained in:
janickiy 2020-02-05 06:34:26 +03:00
commit 5cac498444
3729 changed files with 836998 additions and 0 deletions

View file

@ -0,0 +1,291 @@
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE
(function(mod) {
if (typeof exports == "object" && typeof module == "object") // CommonJS
mod(require("../../lib/codemirror"));
else if (typeof define == "function" && define.amd) // AMD
define(["../../lib/codemirror"], mod);
else // Plain browser env
mod(CodeMirror);
})(function(CodeMirror) {
"use strict";
CodeMirror.defineMode("dylan", function(_config) {
// Words
var words = {
// Words that introduce unnamed definitions like "define interface"
unnamedDefinition: ["interface"],
// Words that introduce simple named definitions like "define library"
namedDefinition: ["module", "library", "macro",
"C-struct", "C-union",
"C-function", "C-callable-wrapper"
],
// Words that introduce type definitions like "define class".
// These are also parameterized like "define method" and are
// appended to otherParameterizedDefinitionWords
typeParameterizedDefinition: ["class", "C-subtype", "C-mapped-subtype"],
// Words that introduce trickier definitions like "define method".
// These require special definitions to be added to startExpressions
otherParameterizedDefinition: ["method", "function",
"C-variable", "C-address"
],
// Words that introduce module constant definitions.
// These must also be simple definitions and are
// appended to otherSimpleDefinitionWords
constantSimpleDefinition: ["constant"],
// Words that introduce module variable definitions.
// These must also be simple definitions and are
// appended to otherSimpleDefinitionWords
variableSimpleDefinition: ["variable"],
// Other words that introduce simple definitions
// (without implicit bodies).
otherSimpleDefinition: ["generic", "domain",
"C-pointer-type",
"table"
],
// Words that begin statements with implicit bodies.
statement: ["if", "block", "begin", "method", "case",
"for", "select", "when", "unless", "until",
"while", "iterate", "profiling", "dynamic-bind"
],
// Patterns that act as separators in compound statements.
// This may include any general pattern that must be indented
// specially.
separator: ["finally", "exception", "cleanup", "else",
"elseif", "afterwards"
],
// Keywords that do not require special indentation handling,
// but which should be highlighted
other: ["above", "below", "by", "from", "handler", "in",
"instance", "let", "local", "otherwise", "slot",
"subclass", "then", "to", "keyed-by", "virtual"
],
// Condition signaling function calls
signalingCalls: ["signal", "error", "cerror",
"break", "check-type", "abort"
]
};
words["otherDefinition"] =
words["unnamedDefinition"]
.concat(words["namedDefinition"])
.concat(words["otherParameterizedDefinition"]);
words["definition"] =
words["typeParameterizedDefinition"]
.concat(words["otherDefinition"]);
words["parameterizedDefinition"] =
words["typeParameterizedDefinition"]
.concat(words["otherParameterizedDefinition"]);
words["simpleDefinition"] =
words["constantSimpleDefinition"]
.concat(words["variableSimpleDefinition"])
.concat(words["otherSimpleDefinition"]);
words["keyword"] =
words["statement"]
.concat(words["separator"])
.concat(words["other"]);
// Patterns
var symbolPattern = "[-_a-zA-Z?!*@<>$%]+";
var symbol = new RegExp("^" + symbolPattern);
var patterns = {
// Symbols with special syntax
symbolKeyword: symbolPattern + ":",
symbolClass: "<" + symbolPattern + ">",
symbolGlobal: "\\*" + symbolPattern + "\\*",
symbolConstant: "\\$" + symbolPattern
};
var patternStyles = {
symbolKeyword: "atom",
symbolClass: "tag",
symbolGlobal: "variable-2",
symbolConstant: "variable-3"
};
// Compile all patterns to regular expressions
for (var patternName in patterns)
if (patterns.hasOwnProperty(patternName))
patterns[patternName] = new RegExp("^" + patterns[patternName]);
// Names beginning "with-" and "without-" are commonly
// used as statement macro
patterns["keyword"] = [/^with(?:out)?-[-_a-zA-Z?!*@<>$%]+/];
var styles = {};
styles["keyword"] = "keyword";
styles["definition"] = "def";
styles["simpleDefinition"] = "def";
styles["signalingCalls"] = "builtin";
// protected words lookup table
var wordLookup = {};
var styleLookup = {};
[
"keyword",
"definition",
"simpleDefinition",
"signalingCalls"
].forEach(function(type) {
words[type].forEach(function(word) {
wordLookup[word] = type;
styleLookup[word] = styles[type];
});
});
function chain(stream, state, f) {
state.tokenize = f;
return f(stream, state);
}
function tokenBase(stream, state) {
// String
var ch = stream.peek();
if (ch == "'" || ch == '"') {
stream.next();
return chain(stream, state, tokenString(ch, "string"));
}
// Comment
else if (ch == "/") {
stream.next();
if (stream.eat("*")) {
return chain(stream, state, tokenComment);
} else if (stream.eat("/")) {
stream.skipToEnd();
return "comment";
} else {
stream.skipTo(" ");
return "operator";
}
}
// Decimal
else if (/\d/.test(ch)) {
stream.match(/^\d*(?:\.\d*)?(?:e[+\-]?\d+)?/);
return "number";
}
// Hash
else if (ch == "#") {
stream.next();
// Symbol with string syntax
ch = stream.peek();
if (ch == '"') {
stream.next();
return chain(stream, state, tokenString('"', "string-2"));
}
// Binary number
else if (ch == "b") {
stream.next();
stream.eatWhile(/[01]/);
return "number";
}
// Hex number
else if (ch == "x") {
stream.next();
stream.eatWhile(/[\da-f]/i);
return "number";
}
// Octal number
else if (ch == "o") {
stream.next();
stream.eatWhile(/[0-7]/);
return "number";
}
// Hash symbol
else {
stream.eatWhile(/[-a-zA-Z]/);
return "keyword";
}
} else if (stream.match("end")) {
return "keyword";
}
for (var name in patterns) {
if (patterns.hasOwnProperty(name)) {
var pattern = patterns[name];
if ((pattern instanceof Array && pattern.some(function(p) {
return stream.match(p);
})) || stream.match(pattern))
return patternStyles[name];
}
}
if (stream.match("define")) {
return "def";
} else {
stream.eatWhile(/[\w\-]/);
// Keyword
if (wordLookup[stream.current()]) {
return styleLookup[stream.current()];
} else if (stream.current().match(symbol)) {
return "variable";
} else {
stream.next();
return "variable-2";
}
}
}
function tokenComment(stream, state) {
var maybeEnd = false,
ch;
while ((ch = stream.next())) {
if (ch == "/" && maybeEnd) {
state.tokenize = tokenBase;
break;
}
maybeEnd = (ch == "*");
}
return "comment";
}
function tokenString(quote, style) {
return function(stream, state) {
var next, end = false;
while ((next = stream.next()) != null) {
if (next == quote) {
end = true;
break;
}
}
if (end)
state.tokenize = tokenBase;
return style;
};
}
// Interface
return {
startState: function() {
return {
tokenize: tokenBase,
currentIndent: 0
};
},
token: function(stream, state) {
if (stream.eatSpace())
return null;
var style = state.tokenize(stream, state);
return style;
},
blockCommentStart: "/*",
blockCommentEnd: "*/"
};
});
CodeMirror.defineMIME("text/x-dylan", "dylan");
});

View file

@ -0,0 +1,793 @@
<!doctype html>
<title>CodeMirror: Dylan mode</title>
<meta charset="utf-8" />
<link rel=stylesheet href="../../doc/docs.css">
<link rel="stylesheet" href="../../lib/codemirror.css">
<script src="../../lib/codemirror.js"></script>
<script src="../../addon/edit/matchbrackets.js"></script>
<script src="../../addon/comment/continuecomment.js"></script>
<script src="../../addon/comment/comment.js"></script>
<script src="dylan.js"></script>
<style type="text/css">
.CodeMirror {
border-top: 1px solid black;
border-bottom: 1px solid black;
}
</style>
<div id=nav>
<a href="http://codemirror.net">
<h1>CodeMirror</h1>
<img id=logo src="../../doc/logo.png">
</a>
<ul>
<li>
<a href="../../index.html">Home</a>
<li>
<a href="../../doc/manual.html">Manual</a>
<li>
<a href="https://github.com/codemirror/codemirror">Code</a>
</ul>
<ul>
<li>
<a href="../index.html">Language modes</a>
<li>
<a class=active href="#">Dylan</a>
</ul>
</div>
<article>
<h2>Dylan mode</h2>
<div>
<textarea id="code" name="code"> Module: locators-internals Synopsis: Abstract modeling of locations Author: Andy Armstrong Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: See License.txt in this distribution for details.
Warranty: Distributed WITHOUT WARRANTY OF ANY KIND define open generic locator-server (locator ::
<locator>) => (server :: false-or(
<server-locator>)); define open generic locator-host (locator ::
<locator>) => (host :: false-or(
<string>)); define open generic locator-volume (locator ::
<locator>) => (volume :: false-or(
<string>)); define open generic locator-directory (locator ::
<locator>) => (directory :: false-or(
<directory-locator>)); define open generic locator-relative? (locator ::
<locator>) => (relative? ::
<boolean>); define open generic locator-path (locator ::
<locator>) => (path ::
<sequence>); define open generic locator-base (locator ::
<locator>) => (base :: false-or(
<string>)); define open generic locator-extension (locator ::
<locator>) => (extension :: false-or(
<string>)); /// Locator classes define open abstract class
<directory-locator> (
<physical-locator>) end class
<directory-locator>; define open abstract class
<file-locator> (
<physical-locator>) end class
<file-locator>; define method as (class ==
<directory-locator>, string ::
<string>) => (locator ::
<directory-locator>) as(
<native-directory-locator>, string) end method as; define method make (class ==
<directory-locator>, #key server :: false-or(
<server-locator>) = #f, path ::
<sequence> = #[], relative? ::
<boolean> = #f, name :: false-or(
<string>) = #f) => (locator ::
<directory-locator>) make(
<native-directory-locator>, server: server, path: path, relative?: relative?, name: name) end method make; define method as (class ==
<file-locator>, string ::
<string>) => (locator ::
<file-locator>) as(
<native-file-locator>, string) end method as; define method make (class ==
<file-locator>, #key directory :: false-or(
<directory-locator>) = #f, base :: false-or(
<string>) = #f, extension :: false-or(
<string>) = #f, name :: false-or(
<string>) = #f) => (locator ::
<file-locator>) make(
<native-file-locator>, directory: directory, base: base, extension: extension, name: name)
end method make; /// Locator coercion //---*** andrewa: This caching
scheme doesn't work yet, so disable it. define constant $cache-locators?
= #f; define constant $cache-locator-strings? = #f; define constant
$locator-to-string-cache = make(
<object-table>, weak: #"key"); define constant $string-to-locator-cache = make(
<string-table>, weak: #"value"); define open generic locator-as-string (class
:: subclass(
<string>), locator ::
<locator>) => (string ::
<string>); define open generic string-as-locator (class
:: subclass(
<locator>), string ::
<string>) => (locator ::
<locator>); define sealed sideways method as
(class :: subclass(
<string>), locator ::
<locator>) => (string ::
<string>) let string = element($locator-to-string-cache,
locator, default: #f);
if (string) as(class,
string) else let string
= locator-as-string(class,
locator); if ($cache-locator-strings?)
element($locator-to-string-cache,
locator) := string;
else string end end
end method as; define
sealed sideways method
as (class :: subclass(
<locator>), string ::
<string>) => (locator ::
<locator>) let locator
= element($string-to-locator-cache,
string,
default:
#f); if
(instance?(locator,
class))
locator
else let
locator
= string-as-locator(class,
string);
if ($cache-locators?)
element($string-to-locator-cache,
string)
:= locator;
else locator
end end
end method
as; ///
Locator
conditions
define
class
<locator-error>
(
<format-string-condition>,
<error>)
end
class
<locator-error>;
define
function
locator-error
(format-string
::
<string>,
#rest
format-arguments)
error(make(
<locator-error>,
format-string:
format-string,
format-arguments:
format-arguments))
end
function
locator-error;
///
Useful
locator
protocols
define
open
generic
locator-test
(locator
::
<directory-locator>)
=>
(test
::
<function>);
define
method
locator-test
(locator
::
<directory-locator>)
=>
(test
::
<function>)
\=
end
method
locator-test;
define
open
generic
locator-might-have-links?
(locator
::
<directory-locator>)
=>
(links?
::
<boolean>);
define
method
locator-might-have-links?
(locator
::
<directory-locator>)
=>
(links?
::
singleton(#f))
#f
end
method
locator-might-have-links?;
define
method
locator-relative?
(locator
::
<file-locator>)
=>
(relative?
::
<boolean>)
let
directory
=
locator.locator-directory;
~directory
|
directory.locator-relative?
end
method
locator-relative?;
define
method
current-directory-locator?
(locator
::
<directory-locator>)
=>
(current-directory?
::
<boolean>)
locator.locator-relative?
&
locator.locator-path
=
#[#"self"]
end
method
current-directory-locator?;
define
method
locator-directory
(locator
::
<directory-locator>)
=>
(parent
::
false-or(
<directory-locator>))
let
path
=
locator.locator-path;
unless
(empty?(path))
make(object-class(locator),
server:
locator.locator-server,
path:
copy-sequence(path,
end:
path.size
-
1),
relative?:
locator.locator-relative?)
end
end
method
locator-directory;
///
Simplify
locator
define
open
generic
simplify-locator
(locator
::
<physical-locator>)
=>
(simplified-locator
::
<physical-locator>);
define
method
simplify-locator
(locator
::
<directory-locator>)
=>
(simplified-locator
::
<directory-locator>)
let
path
=
locator.locator-path;
let
relative?
=
locator.locator-relative?;
let
resolve-parent?
=
~locator.locator-might-have-links?;
let
simplified-path
=
simplify-path(path,
resolve-parent?:
resolve-parent?,
relative?:
relative?);
if
(path
~=
simplified-path)
make(object-class(locator),
server:
locator.locator-server,
path:
simplified-path,
relative?:
locator.locator-relative?)
else
locator
end
end
method
simplify-locator;
define
method
simplify-locator
(locator
::
<file-locator>)
=>
(simplified-locator
::
<file-locator>)
let
directory
=
locator.locator-directory;
let
simplified-directory
=
directory
&
simplify-locator(directory);
if
(directory
~=
simplified-directory)
make(object-class(locator),
directory:
simplified-directory,
base:
locator.locator-base,
extension:
locator.locator-extension)
else
locator
end
end
method
simplify-locator;
///
Subdirectory
locator
define
open
generic
subdirectory-locator
(locator
::
<directory-locator>,
#rest
sub-path)
=>
(subdirectory
::
<directory-locator>);
define
method
subdirectory-locator
(locator
::
<directory-locator>,
#rest
sub-path)
=>
(subdirectory
::
<directory-locator>)
let
old-path
=
locator.locator-path;
let
new-path
=
concatenate-as(
<simple-object-vector>,
old-path,
sub-path);
make(object-class(locator),
server:
locator.locator-server,
path:
new-path,
relative?:
locator.locator-relative?)
end
method
subdirectory-locator;
///
Relative
locator
define
open
generic
relative-locator
(locator
::
<physical-locator>,
from-locator
::
<physical-locator>)
=>
(relative-locator
::
<physical-locator>);
define
method
relative-locator
(locator
::
<directory-locator>,
from-locator
::
<directory-locator>)
=>
(relative-locator
::
<directory-locator>)
let
path
=
locator.locator-path;
let
from-path
=
from-locator.locator-path;
case
~locator.locator-relative?
&
from-locator.locator-relative?
=>
locator-error
("Cannot
find
relative
path
of
absolute
locator
%=
from
relative
locator
%=",
locator,
from-locator);
locator.locator-server
~=
from-locator.locator-server
=>
locator;
path
=
from-path
=>
make(object-class(locator),
path:
vector(#"self"),
relative?:
#t);
otherwise
=>
make(object-class(locator),
path:
relative-path(path,
from-path,
test:
locator.locator-test),
relative?:
#t);
end
end
method
relative-locator;
define
method
relative-locator
(locator
::
<file-locator>,
from-directory
::
<directory-locator>)
=>
(relative-locator
::
<file-locator>)
let
directory
=
locator.locator-directory;
let
relative-directory
=
directory
&
relative-locator(directory,
from-directory);
if
(relative-directory
~=
directory)
simplify-locator
(make(object-class(locator),
directory:
relative-directory,
base:
locator.locator-base,
extension:
locator.locator-extension))
else
locator
end
end
method
relative-locator;
define
method
relative-locator
(locator
::
<physical-locator>,
from-locator
::
<file-locator>)
=>
(relative-locator
::
<physical-locator>)
let
from-directory
=
from-locator.locator-directory;
case
from-directory
=>
relative-locator(locator,
from-directory);
~locator.locator-relative?
=>
locator-error
("Cannot
find
relative
path
of
absolute
locator
%=
from
relative
locator
%=",
locator,
from-locator);
otherwise
=>
locator;
end
end
method
relative-locator;
///
Merge
locators
define
open
generic
merge-locators
(locator
::
<physical-locator>,
from-locator
::
<physical-locator>)
=>
(merged-locator
::
<physical-locator>);
///
Merge
locators
define
method
merge-locators
(locator
::
<directory-locator>,
from-locator
::
<directory-locator>)
=>
(merged-locator
::
<directory-locator>)
if
(locator.locator-relative?)
let
path
=
concatenate(from-locator.locator-path,
locator.locator-path);
simplify-locator
(make(object-class(locator),
server:
from-locator.locator-server,
path:
path,
relative?:
from-locator.locator-relative?))
else
locator
end
end
method
merge-locators;
define
method
merge-locators
(locator
::
<file-locator>,
from-locator
::
<directory-locator>)
=>
(merged-locator
::
<file-locator>)
let
directory
=
locator.locator-directory;
let
merged-directory
=
if
(directory)
merge-locators(directory,
from-locator)
else
simplify-locator(from-locator)
end;
if
(merged-directory
~=
directory)
make(object-class(locator),
directory:
merged-directory,
base:
locator.locator-base,
extension:
locator.locator-extension)
else
locator
end
end
method
merge-locators;
define
method
merge-locators
(locator
::
<physical-locator>,
from-locator
::
<file-locator>)
=>
(merged-locator
::
<physical-locator>)
let
from-directory
=
from-locator.locator-directory;
if
(from-directory)
merge-locators(locator,
from-directory)
else
locator
end
end
method
merge-locators;
///
Locator
protocols
define
sideways
method
supports-open-locator?
(locator
::
<file-locator>)
=>
(openable?
::
<boolean>)
~locator.locator-relative?
end
method
supports-open-locator?;
define
sideways
method
open-locator
(locator
::
<file-locator>,
#rest
keywords,
#key,
#all-keys)
=>
(stream
::
<stream>)
apply(open-file-stream,
locator,
keywords)
end
method
open-locator;
</textarea>
</div>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"),
{
mode: "text/x-dylan",
lineNumbers: true,
matchBrackets: true,
continueComments: "Enter",
extraKeys:
{
"Ctrl-Q": "toggleComment"
},
tabMode: "indent",
indentUnit: 2
});
</script>
<p>
<strong>MIME types defined:</strong> <code>text/x-dylan</code>.</p>
</article>