mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge branch 'master' into prolog-pl-samples
Conflicts: lib/linguist/languages.yml lib/linguist/samples.json
This commit is contained in:
		| @@ -1203,6 +1203,16 @@ LLVM: | |||||||
|   extensions: |   extensions: | ||||||
|   - .ll |   - .ll | ||||||
|  |  | ||||||
|  | LSL: | ||||||
|  |   type: programming | ||||||
|  |   lexer: LSL | ||||||
|  |   ace_mode: lsl | ||||||
|  |   extensions: | ||||||
|  |   - .lsl | ||||||
|  |   interpreters: | ||||||
|  |   - lsl | ||||||
|  |   color: '#3d9970' | ||||||
|  |  | ||||||
| LabVIEW: | LabVIEW: | ||||||
|   type: programming |   type: programming | ||||||
|   lexer: Text only |   lexer: Text only | ||||||
|   | |||||||
| @@ -311,6 +311,9 @@ | |||||||
|     "LFE": [ |     "LFE": [ | ||||||
|       ".lfe" |       ".lfe" | ||||||
|     ], |     ], | ||||||
|  |     "LSL": [ | ||||||
|  |       ".lsl" | ||||||
|  |     ], | ||||||
|     "Lasso": [ |     "Lasso": [ | ||||||
|       ".las", |       ".las", | ||||||
|       ".lasso", |       ".lasso", | ||||||
| @@ -848,8 +851,8 @@ | |||||||
|       "exception.zep.php" |       "exception.zep.php" | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
|   "tokens_total": 659134, |   "tokens_total": 659332, | ||||||
|   "languages_total": 904, |   "languages_total": 905, | ||||||
|   "tokens": { |   "tokens": { | ||||||
|     "ABAP": { |     "ABAP": { | ||||||
|       "*/**": 1, |       "*/**": 1, | ||||||
| @@ -36039,6 +36042,72 @@ | |||||||
|       "info": 1, |       "info": 1, | ||||||
|       "reproduce": 1 |       "reproduce": 1 | ||||||
|     }, |     }, | ||||||
|  |     "LSL": { | ||||||
|  |       "integer": 8, | ||||||
|  |       "someIntNormal": 2, | ||||||
|  |       ";": 29, | ||||||
|  |       "someIntHex": 2, | ||||||
|  |       "someIntMath": 2, | ||||||
|  |       "PI_BY_TWO": 2, | ||||||
|  |       "event": 2, | ||||||
|  |       "//": 5, | ||||||
|  |       "is": 3, | ||||||
|  |       "invalid.illegal": 2, | ||||||
|  |       "key": 3, | ||||||
|  |       "someKeyTexture": 2, | ||||||
|  |       "TEXTURE_DEFAULT": 2, | ||||||
|  |       "string": 5, | ||||||
|  |       "someStringSpecial": 2, | ||||||
|  |       "EOF": 2, | ||||||
|  |       "some_user_defined_function_without_return_type": 2, | ||||||
|  |       "(": 19, | ||||||
|  |       "inputAsString": 2, | ||||||
|  |       ")": 19, | ||||||
|  |       "{": 9, | ||||||
|  |       "llSay": 1, | ||||||
|  |       "PUBLIC_CHANNEL": 4, | ||||||
|  |       "}": 9, | ||||||
|  |       "user_defined_function_returning_a_string": 2, | ||||||
|  |       "inputAsKey": 2, | ||||||
|  |       "return": 1, | ||||||
|  |       "default": 2, | ||||||
|  |       "state_entry": 2, | ||||||
|  |       "someKey": 3, | ||||||
|  |       "NULL_KEY": 1, | ||||||
|  |       "llGetOwner": 1, | ||||||
|  |       "someString": 2, | ||||||
|  |       "touch_start": 1, | ||||||
|  |       "num_detected": 2, | ||||||
|  |       "list": 1, | ||||||
|  |       "agentsInRegion": 3, | ||||||
|  |       "llGetAgentList": 1, | ||||||
|  |       "AGENT_LIST_REGION": 1, | ||||||
|  |       "[": 1, | ||||||
|  |       "]": 1, | ||||||
|  |       "numOfAgents": 2, | ||||||
|  |       "llGetListLength": 1, | ||||||
|  |       "index": 4, | ||||||
|  |       "defaults": 1, | ||||||
|  |       "to": 1, | ||||||
|  |       "for": 2, | ||||||
|  |       "<": 1, | ||||||
|  |       "-": 1, | ||||||
|  |       "+": 2, | ||||||
|  |       "each": 1, | ||||||
|  |       "agent": 1, | ||||||
|  |       "in": 1, | ||||||
|  |       "region": 1, | ||||||
|  |       "llRegionSayTo": 1, | ||||||
|  |       "llList2Key": 1, | ||||||
|  |       "touch_end": 1, | ||||||
|  |       "llSetInventoryPermMask": 1, | ||||||
|  |       "MASK_NEXT": 1, | ||||||
|  |       "PERM_ALL": 1, | ||||||
|  |       "reserved.godmode": 1, | ||||||
|  |       "llWhisper": 2, | ||||||
|  |       "state": 3, | ||||||
|  |       "other": 2 | ||||||
|  |     }, | ||||||
|     "Lasso": { |     "Lasso": { | ||||||
|       "<": 7, |       "<": 7, | ||||||
|       "LassoScript": 1, |       "LassoScript": 1, | ||||||
| @@ -73057,6 +73126,7 @@ | |||||||
|     "Kit": 6, |     "Kit": 6, | ||||||
|     "Kotlin": 155, |     "Kotlin": 155, | ||||||
|     "LFE": 1711, |     "LFE": 1711, | ||||||
|  |     "LSL": 198, | ||||||
|     "Lasso": 9849, |     "Lasso": 9849, | ||||||
|     "Latte": 759, |     "Latte": 759, | ||||||
|     "Less": 39, |     "Less": 39, | ||||||
| @@ -73271,6 +73341,7 @@ | |||||||
|     "Kit": 1, |     "Kit": 1, | ||||||
|     "Kotlin": 1, |     "Kotlin": 1, | ||||||
|     "LFE": 4, |     "LFE": 4, | ||||||
|  |     "LSL": 1, | ||||||
|     "Lasso": 4, |     "Lasso": 4, | ||||||
|     "Latte": 2, |     "Latte": 2, | ||||||
|     "Less": 1, |     "Less": 1, | ||||||
| @@ -73397,5 +73468,5 @@ | |||||||
|     "fish": 3, |     "fish": 3, | ||||||
|     "wisp": 1 |     "wisp": 1 | ||||||
|   }, |   }, | ||||||
|   "md5": "50b2227d023291a6a909ca3866c171c8" |   "md5": "3778b7ad7414915c83e6960531006542" | ||||||
| } | } | ||||||
							
								
								
									
										74
									
								
								samples/LSL/LSL.lsl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								samples/LSL/LSL.lsl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,74 @@ | |||||||
|  | /* | ||||||
|  |     Testing syntax highlighting | ||||||
|  |     for the Linden Scripting Language | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | integer someIntNormal       = 3672; | ||||||
|  | integer someIntHex          = 0x00000000; | ||||||
|  | integer someIntMath         = PI_BY_TWO; | ||||||
|  |  | ||||||
|  | integer event               = 5673;// 'event' is invalid.illegal | ||||||
|  |  | ||||||
|  | key someKeyTexture          = TEXTURE_DEFAULT; | ||||||
|  | string someStringSpecial    = EOF; | ||||||
|  |  | ||||||
|  | some_user_defined_function_without_return_type(string inputAsString) | ||||||
|  | { | ||||||
|  |     llSay(PUBLIC_CHANNEL, inputAsString); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | string user_defined_function_returning_a_string(key inputAsKey) | ||||||
|  | { | ||||||
|  |     return (string)inputAsKey; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | default | ||||||
|  | { | ||||||
|  |     state_entry() | ||||||
|  |     { | ||||||
|  |         key someKey = NULL_KEY; | ||||||
|  |         someKey = llGetOwner(); | ||||||
|  |  | ||||||
|  |         string someString = user_defined_function_returning_a_string(someKey); | ||||||
|  |  | ||||||
|  |         some_user_defined_function_without_return_type(someString); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     touch_start(integer num_detected) | ||||||
|  |     { | ||||||
|  |         list agentsInRegion = llGetAgentList(AGENT_LIST_REGION, []); | ||||||
|  |         integer numOfAgents = llGetListLength(agentsInRegion); | ||||||
|  |  | ||||||
|  |         integer index;                                                          // defaults to 0 | ||||||
|  |         for (; index <= numOfAgents - 1; index++)                               // for each agent in region | ||||||
|  |         { | ||||||
|  |             llRegionSayTo(llList2Key(agentsInRegion, index), PUBLIC_CHANNEL, "Hello, Avatar!"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     touch_end(integer num_detected) | ||||||
|  |     { | ||||||
|  |         someIntNormal       = 3672; | ||||||
|  |         someIntHex          = 0x00000000; | ||||||
|  |         someIntMath         = PI_BY_TWO; | ||||||
|  |  | ||||||
|  |         event               = 5673;// 'event' is invalid.illegal | ||||||
|  |  | ||||||
|  |         someKeyTexture      = TEXTURE_DEFAULT; | ||||||
|  |         someStringSpecial   = EOF; | ||||||
|  |  | ||||||
|  |         llSetInventoryPermMask("some item", MASK_NEXT, PERM_ALL);// 'llSetInventoryPermMask' is reserved.godmode | ||||||
|  |  | ||||||
|  |         llWhisper(PUBLIC_CHANNEL, "Leaving \"default\" now..."); | ||||||
|  |         state other; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | state other | ||||||
|  | { | ||||||
|  |     state_entry() | ||||||
|  |     { | ||||||
|  |         llWhisper(PUBLIC_CHANNEL, "Entered \"state other\", returning to \"default\" again..."); | ||||||
|  |         state default; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -33,6 +33,7 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|     assert_equal Lexer['Java'], Language['ChucK'].lexer |     assert_equal Lexer['Java'], Language['ChucK'].lexer | ||||||
|     assert_equal Lexer['Java'], Language['Java'].lexer |     assert_equal Lexer['Java'], Language['Java'].lexer | ||||||
|     assert_equal Lexer['JavaScript'], Language['JavaScript'].lexer |     assert_equal Lexer['JavaScript'], Language['JavaScript'].lexer | ||||||
|  |     assert_equal Lexer['LSL'], Language['LSL'].lexer | ||||||
|     assert_equal Lexer['MOOCode'], Language['Moocode'].lexer |     assert_equal Lexer['MOOCode'], Language['Moocode'].lexer | ||||||
|     assert_equal Lexer['MuPAD'], Language['mupad'].lexer |     assert_equal Lexer['MuPAD'], Language['mupad'].lexer | ||||||
|     assert_equal Lexer['NASM'], Language['Assembly'].lexer |     assert_equal Lexer['NASM'], Language['Assembly'].lexer | ||||||
| @@ -186,6 +187,7 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|  |  | ||||||
|   def test_programming |   def test_programming | ||||||
|     assert_equal :programming, Language['JavaScript'].type |     assert_equal :programming, Language['JavaScript'].type | ||||||
|  |     assert_equal :programming, Language['LSL'].type | ||||||
|     assert_equal :programming, Language['Perl'].type |     assert_equal :programming, Language['Perl'].type | ||||||
|     assert_equal :programming, Language['PowerShell'].type |     assert_equal :programming, Language['PowerShell'].type | ||||||
|     assert_equal :programming, Language['Python'].type |     assert_equal :programming, Language['Python'].type | ||||||
| @@ -326,6 +328,7 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|     assert_equal '#3581ba', Language['Python'].color |     assert_equal '#3581ba', Language['Python'].color | ||||||
|     assert_equal '#f1e05a', Language['JavaScript'].color |     assert_equal '#f1e05a', Language['JavaScript'].color | ||||||
|     assert_equal '#31859c', Language['TypeScript'].color |     assert_equal '#31859c', Language['TypeScript'].color | ||||||
|  |     assert_equal '#3d9970', Language['LSL'].color | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_colors |   def test_colors | ||||||
| @@ -338,6 +341,7 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|     assert_equal 'coffee', Language['CoffeeScript'].ace_mode |     assert_equal 'coffee', Language['CoffeeScript'].ace_mode | ||||||
|     assert_equal 'csharp', Language['C#'].ace_mode |     assert_equal 'csharp', Language['C#'].ace_mode | ||||||
|     assert_equal 'css', Language['CSS'].ace_mode |     assert_equal 'css', Language['CSS'].ace_mode | ||||||
|  |     assert_equal 'lsl', Language['LSL'].ace_mode | ||||||
|     assert_equal 'javascript', Language['JavaScript'].ace_mode |     assert_equal 'javascript', Language['JavaScript'].ace_mode | ||||||
|   end |   end | ||||||
|  |  | ||||||
| @@ -352,6 +356,7 @@ class TestLanguage < Test::Unit::TestCase | |||||||
|   end |   end | ||||||
|  |  | ||||||
|   def test_extensions |   def test_extensions | ||||||
|  |     assert Language['LSL'].extensions.include?('.lsl') | ||||||
|     assert Language['Perl'].extensions.include?('.pl') |     assert Language['Perl'].extensions.include?('.pl') | ||||||
|     assert Language['Python'].extensions.include?('.py') |     assert Language['Python'].extensions.include?('.py') | ||||||
|     assert Language['Ruby'].extensions.include?('.rb') |     assert Language['Ruby'].extensions.include?('.rb') | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user