Although TextMate isn't newLISP-aware immediately, you can teach it the language. You define various language patterns using regular expressions, then it can format and work with your code with a bit more intelligence. m i c h a e l has been teaching it the basics, and they work well. I've been struggling to add function pop-ups to his work, and I've half-succeeded. It's tough work, struggling with so many regular expressions at once:
Code: Select all
{ scopeName = 'source.newlisp';
comment = ';';
firstLineMatch = '^#!/.*\bnewlisp\b';
fileTypes = ( 'lisp', 'lsp' );
patterns = (
{ name = 'comment.line.newlisp';
match = ';.*$';
},
{ name = 'comment.line.number-sign.newlisp';
begin = '#';
end = '$';
},
{ name = 'meta.function.newlisp';
begin = '(\(define\s+)\(((?![#;"''(){}.,0-9])[^"''(): ]+)';
end = '\)';
beginCaptures =
{ 1 = { name = 'keyword.control.define.newlisp'; };
2 = { name = 'entity.name.function.newlisp'; };
};
patterns = (
{ name = 'variable.parameter.newlisp';
match = '((?![#;"''(){}.,0-9])[^"''(): ])+';
}
);
},
...etc
Developing a TextMate bundle for newLISP could be considered to be a communal effort, as it gradually gets improved and extended with the contributions of many* different individuals. But how best to organize this? The TextMate community has some kind of source management system running so that different people can update a bundle with their contributions. This requires the installation of a source control management system (subversion?) though, which I'm not sure I'm up to.
Is there another way for us to develop the TextMate bundle jointly, or is it better to go with the TextMate method and get into subversion...?
* As far as I know there are only 2 people currently using newLISP and TextMate, but I might be wrong, and besides Steve Jobs might announce that newLISP is the new AppleScript... ;-)