mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-28 17:20:22 +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"]
|
||||
path = vendor/grammars/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"]
|
||||
path = vendor/grammars/sublime-shen
|
||||
url = https://github.com/rkoeninger/sublime-shen
|
||||
|
||||
@@ -455,6 +455,8 @@ vendor/grammars/language-toc-wow:
|
||||
- source.toc
|
||||
vendor/grammars/language-turing:
|
||||
- source.turing
|
||||
vendor/grammars/language-typelanguage:
|
||||
- source.tl
|
||||
vendor/grammars/language-viml:
|
||||
- source.viml
|
||||
vendor/grammars/language-wavefront:
|
||||
|
||||
@@ -4487,6 +4487,15 @@ Twig:
|
||||
codemirror_mode: twig
|
||||
codemirror_mime_type: text/x-twig
|
||||
language_id: 377
|
||||
Type Language:
|
||||
type: data
|
||||
aliases:
|
||||
- tl
|
||||
extensions:
|
||||
- ".tl"
|
||||
tm_scope: source.tl
|
||||
ace_mode: text
|
||||
language_id: 632765617
|
||||
TypeScript:
|
||||
type: programming
|
||||
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)
|
||||
- **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)
|
||||
- **Type Language:** [goodmind/language-typelanguage](https://github.com/goodmind/language-typelanguage)
|
||||
- **TypeScript:** [Microsoft/TypeScript-Sublime-Plugin](https://github.com/Microsoft/TypeScript-Sublime-Plugin)
|
||||
- **Unified Parallel C:** [textmate/c.tmbundle](https://github.com/textmate/c.tmbundle)
|
||||
- **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