mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Support for Type Language (#3593)
* Support for Type Language * Update Type Language * Add one more sample for Type Language * Update Type Language grammar
This commit is contained in:
committed by
Colin Seymour
parent
ca6121e3ea
commit
60f864a138
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -836,6 +836,9 @@
|
|||||||
[submodule "vendor/grammars/language-jolie"]
|
[submodule "vendor/grammars/language-jolie"]
|
||||||
path = vendor/grammars/language-jolie
|
path = vendor/grammars/language-jolie
|
||||||
url = https://github.com/fmontesi/language-jolie
|
url = https://github.com/fmontesi/language-jolie
|
||||||
|
[submodule "vendor/grammars/language-typelanguage"]
|
||||||
|
path = vendor/grammars/language-typelanguage
|
||||||
|
url = https://github.com/goodmind/language-typelanguage
|
||||||
[submodule "vendor/grammars/sublime-shen"]
|
[submodule "vendor/grammars/sublime-shen"]
|
||||||
path = vendor/grammars/sublime-shen
|
path = vendor/grammars/sublime-shen
|
||||||
url = https://github.com/rkoeninger/sublime-shen
|
url = https://github.com/rkoeninger/sublime-shen
|
||||||
|
|||||||
@@ -455,6 +455,8 @@ vendor/grammars/language-toc-wow:
|
|||||||
- source.toc
|
- source.toc
|
||||||
vendor/grammars/language-turing:
|
vendor/grammars/language-turing:
|
||||||
- source.turing
|
- source.turing
|
||||||
|
vendor/grammars/language-typelanguage:
|
||||||
|
- source.tl
|
||||||
vendor/grammars/language-viml:
|
vendor/grammars/language-viml:
|
||||||
- source.viml
|
- source.viml
|
||||||
vendor/grammars/language-wavefront:
|
vendor/grammars/language-wavefront:
|
||||||
|
|||||||
@@ -4487,6 +4487,15 @@ Twig:
|
|||||||
codemirror_mode: twig
|
codemirror_mode: twig
|
||||||
codemirror_mime_type: text/x-twig
|
codemirror_mime_type: text/x-twig
|
||||||
language_id: 377
|
language_id: 377
|
||||||
|
Type Language:
|
||||||
|
type: data
|
||||||
|
aliases:
|
||||||
|
- tl
|
||||||
|
extensions:
|
||||||
|
- ".tl"
|
||||||
|
tm_scope: source.tl
|
||||||
|
ace_mode: text
|
||||||
|
language_id: 632765617
|
||||||
TypeScript:
|
TypeScript:
|
||||||
type: programming
|
type: programming
|
||||||
color: "#2b7489"
|
color: "#2b7489"
|
||||||
|
|||||||
39
samples/Type Language/builtin.tl
Normal file
39
samples/Type Language/builtin.tl
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
// built-in types
|
||||||
|
int#a8509bda ? = Int;
|
||||||
|
long ? = Long;
|
||||||
|
double ? = Double;
|
||||||
|
string ? = String;
|
||||||
|
null = Null;
|
||||||
|
|
||||||
|
vector {t:Type} # [ t ] = Vector t;
|
||||||
|
coupleInt {alpha:Type} int alpha = CoupleInt<alpha>;
|
||||||
|
coupleStr {gamma:Type} string gamma = CoupleStr gamma;
|
||||||
|
|
||||||
|
/* The name of the type variable is irrelevant: "gamma" could be replaced with "alpha"
|
||||||
|
However, the combinator number will depend on the specific choice. */
|
||||||
|
|
||||||
|
intHash {alpha:Type} vector<coupleInt<alpha>> = IntHash<alpha>;
|
||||||
|
strHash {alpha:Type} (vector (coupleStr alpha)) = StrHash alpha;
|
||||||
|
intSortedHash {alpha:Type} intHash<alpha> = IntSortedHash<alpha>;
|
||||||
|
strSortedHash {alpha:Type} (strHash alpha) = StrSortedHash alpha;
|
||||||
|
|
||||||
|
// custom types
|
||||||
|
pair x:Object y:Object = Pair;
|
||||||
|
triple x:Object y:Object z:Object = Triple;
|
||||||
|
|
||||||
|
user#d23c81a3 id:int first_name:string last_name:string = User;
|
||||||
|
no_user#c67599d1 id:int = User;
|
||||||
|
group id:int title:string last_name:string = Group;
|
||||||
|
no_group = Group;
|
||||||
|
|
||||||
|
---functions---
|
||||||
|
|
||||||
|
// Maybe some built-in arithmetic functions; inverse quotes make "identifiers" out of arbitrary non-alphanumeric strings
|
||||||
|
`+` Int Int = Int;
|
||||||
|
`-` Int Int = Int;
|
||||||
|
`+` Double Double = Double;
|
||||||
|
// ...
|
||||||
|
|
||||||
|
// API functions (aka RPC functions)
|
||||||
|
getUser#b0f732d5 int = User;
|
||||||
|
getUsers#2d84d5f5 (Vector int) = Vector User;
|
||||||
1102
samples/Type Language/scheme.tl
Normal file
1102
samples/Type Language/scheme.tl
Normal file
File diff suppressed because it is too large
Load Diff
1
vendor/README.md
vendored
1
vendor/README.md
vendored
@@ -351,6 +351,7 @@ This is a list of grammars that Linguist selects to provide syntax highlighting
|
|||||||
- **Turtle:** [peta/turtle.tmbundle](https://github.com/peta/turtle.tmbundle)
|
- **Turtle:** [peta/turtle.tmbundle](https://github.com/peta/turtle.tmbundle)
|
||||||
- **Twig:** [Anomareh/PHP-Twig.tmbundle](https://github.com/Anomareh/PHP-Twig.tmbundle)
|
- **Twig:** [Anomareh/PHP-Twig.tmbundle](https://github.com/Anomareh/PHP-Twig.tmbundle)
|
||||||
- **TXL:** [MikeHoffert/Sublime-Text-TXL-syntax](https://github.com/MikeHoffert/Sublime-Text-TXL-syntax)
|
- **TXL:** [MikeHoffert/Sublime-Text-TXL-syntax](https://github.com/MikeHoffert/Sublime-Text-TXL-syntax)
|
||||||
|
- **Type Language:** [goodmind/language-typelanguage](https://github.com/goodmind/language-typelanguage)
|
||||||
- **TypeScript:** [Microsoft/TypeScript-Sublime-Plugin](https://github.com/Microsoft/TypeScript-Sublime-Plugin)
|
- **TypeScript:** [Microsoft/TypeScript-Sublime-Plugin](https://github.com/Microsoft/TypeScript-Sublime-Plugin)
|
||||||
- **Unified Parallel C:** [textmate/c.tmbundle](https://github.com/textmate/c.tmbundle)
|
- **Unified Parallel C:** [textmate/c.tmbundle](https://github.com/textmate/c.tmbundle)
|
||||||
- **Unity3D Asset:** [atom/language-yaml](https://github.com/atom/language-yaml)
|
- **Unity3D Asset:** [atom/language-yaml](https://github.com/atom/language-yaml)
|
||||||
|
|||||||
1
vendor/grammars/language-typelanguage
vendored
Submodule
1
vendor/grammars/language-typelanguage
vendored
Submodule
Submodule vendor/grammars/language-typelanguage added at a82001ba00
35
vendor/licenses/grammar/language-typelanguage.txt
vendored
Normal file
35
vendor/licenses/grammar/language-typelanguage.txt
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
---
|
||||||
|
type: grammar
|
||||||
|
name: language-typelanguage
|
||||||
|
license: mit
|
||||||
|
---
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017 goodmind
|
||||||
|
|
||||||
|
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.
|
||||||
Reference in New Issue
Block a user