Comments (4)
i'm also looking for objective-c language support. if @ccampbell is willing to accept a PR i'll get started on it.
from rainbow.
Rainbow.extend("objective-c", [
{
name: 'keyword',
pattern: /(\b(?:NS|Json|Http|Multipart|UI|IB|\@)\w+\b)/gm
}
]);
To fix the strings, in the generic change the string regex to this
/(\(|\s|\[|\=|\@|:)(('|")([^\\\1]|\\.)*?(\3))/gm
@ccampbell you should probably fix this on your generic as well, so you can support certain PHP strings and Objective-C strings all together.
For keywords and functions here you go (see #109 for more information regarding getKeywords):
Rainbow.getKeywords = function(str) {
str = str.replace(/^\s+|\s+$/g, '').replace(/\s+/g, '|');
return '\\b(?:' + str + ')\\b';
};
Rainbow.extend("objective-c", [
{
name: 'keyword',
pattern: /(\b(?:NS|Json|Http|Multipart|UI|IB|\@)\w+\b)/gm
},
{
name: 'keyword',
pattern: new RegExp(Rainbow.getKeywords('break case catch class copy const __finally __exception __try const_cast continue private public protected __declspec default delete deprecated dllexport dllimport do dynamic_cast else enum explicit extern if for friend getter goto inline mutable naked namespace new nil NO noinline nonatomic noreturn nothrow NULL readonly readwrite register reinterpret_cast retain return SEL selectany self setter sizeof static static_cast struct super switch template this thread throw true false try typedef typeid typename union using uuid virtual void volatile whcar_t while YES'), 'gm')
},
{
name: 'functions',
pattern: new RegExp(Rainbow.getKeywords('assert isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper errno localeconv setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell fwrite getc getchar gets perror printf putc putchar puts remove rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs mbtowc qsort rand realloc srand strtod strtol strtoul system wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr strcmp strcoll strcpy strcspn strerror strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime clock ctime difftime gmtime localtime mktime strftime time', 'gm'))
}
]);
from rainbow.
Objective-C support would be great - anything I could do?
from rainbow.
it looks like @nijikokun worked it out?? :)
from rainbow.
Related Issues (20)
- Support for Iro
- Rainbow.color does not work HOT 2
- Temporary disabling rainbow
- Doesn't highlight in standard conventional ways
- Update [email protected] to 0.7.17^ HOT 5
- States are rendered as attributes - HTML HOT 4
- Language support for YAML/YML HOT 1
- Support for rollup >= 0.56.x?
- Javascript Highlighter seems to not work as expected HOT 5
- Your library encourages unescaped HTML by supporting it in many cases. HOT 46
- TypeError: can't redefine non-configurable property "toQueryString"
- installation Symfony Encore
- Syntax highlighter flashes
- Add support for OCaml
- Support for typescript
- Return code
- Syntax highlighting problem
- add `overflow: auto;` in all `pre `
- Copy to Clipboard Integration HOT 1
- How to retrigger rainbow for dynamic code HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rainbow.