mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	This adds Idris into the mix and uses the text-only parser for now, pending upstream merging this patch in: https://bitbucket.org/birkenfeld/pygments-main/pull-request/210/idris-lexer-added-lexer-for-idris/diff Once that gets merged in, the lexer should change to idris.
		
			
				
	
	
		
			43 lines
		
	
	
		
			1014 B
		
	
	
	
		
			Idris
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1014 B
		
	
	
	
		
			Idris
		
	
	
	
	
	
module Prelude.Char
 | 
						|
 | 
						|
import Builtins
 | 
						|
 | 
						|
isUpper : Char -> Bool
 | 
						|
isUpper x = x >= 'A' && x <= 'Z'
 | 
						|
 | 
						|
isLower : Char -> Bool
 | 
						|
isLower x = x >= 'a' && x <= 'z'
 | 
						|
 | 
						|
isAlpha : Char -> Bool
 | 
						|
isAlpha x = isUpper x || isLower x
 | 
						|
 | 
						|
isDigit : Char -> Bool
 | 
						|
isDigit x = (x >= '0' && x <= '9')
 | 
						|
 | 
						|
isAlphaNum : Char -> Bool
 | 
						|
isAlphaNum x = isDigit x || isAlpha x
 | 
						|
 | 
						|
isSpace : Char -> Bool
 | 
						|
isSpace x = x == ' '  || x == '\t' || x == '\r' ||
 | 
						|
            x == '\n' || x == '\f' || x == '\v' ||
 | 
						|
            x == '\xa0'
 | 
						|
 | 
						|
isNL : Char -> Bool
 | 
						|
isNL x = x == '\r' || x == '\n'
 | 
						|
 | 
						|
toUpper : Char -> Char
 | 
						|
toUpper x = if (isLower x)
 | 
						|
               then (prim__intToChar (prim__charToInt x - 32))
 | 
						|
               else x
 | 
						|
 | 
						|
toLower : Char -> Char
 | 
						|
toLower x = if (isUpper x)
 | 
						|
               then (prim__intToChar (prim__charToInt x + 32))
 | 
						|
               else x
 | 
						|
 | 
						|
isHexDigit : Char -> Bool
 | 
						|
isHexDigit x = elem (toUpper x) hexChars where
 | 
						|
  hexChars : List Char
 | 
						|
  hexChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
 | 
						|
              'A', 'B', 'C', 'D', 'E', 'F']
 |