[TxMt] Re: Code Formatting for keywords
riki
riki80 at rediffmail.com
Thu Dec 13 01:50:37 UTC 2012
Thank you very much Andrew and Elia for your kind suggestions.
Regards,
Riki
On Thu, 13 Dec 2012 03:54:07 +0530 wrote
> Riki,
Perhaps I can elaborate on Elia's behalf:
1. If you want to abide by TextMate conventions, don't pop up a tooltip; edit the Fortran grammar so that keywords are
given a scope that begins with `invalid.illegal`. Most themes apply a style to `invalid.illegal` that makes it stand out as an
error, and many bundles have rules to mark things that are known to be invalid or cause syntax errors. (For example: in
the HTML grammar, the sequence `` is scoped as `invalid.illegal.incomplete.html` because it isn't valid HTML.)
In order to add this rule, you will need to know a little about language grammars [1]. In particular, read about the `begin,
end` keys in section 12.3. A begin/end pattern is the best way to create patterns that apply only in certain places, rather
than document-wide. Unfortunately, I don't know anything about Fortran, so I can't give you further guidance on how the
rule would look.
If you still want to show a tooltip, you could try the approach I explain below. But I wouldn't recommend it.
2. There's no simple way to do this in TextMate 2.
You could write a command like this [2]. This would activate whenever a user typed a keyword, then pressed the space
bar. It would replace the input with an uppercase version, then insert the space key as the user expects.
But this would only work in that specific instance. If Fortran does not mandate that a keyword must follow a space (as in
C-style syntax, where both `if {` and `if{` are valid), then you'd have to figure out which other characters can follow
identifiers, and then give each one its own command. Even so, this wouldn't work on code that is pasted into the editor.
Better to take Elia's advice and create a command that does the transformation when the document is saved. Here's an
example of how to create such a command [3].
(Unfortunately, in your case, this would involve parsing the Fortran code so that you could be sure that you were
uppercasing only keywords and nothing else.)
Cheers,Andrew
[1] http://manual.macromates.com/en/language_grammars#language_grammars[2]
https://gist.github.com/0d6ce8625cf371f22734[3] http://reinteractive.net/posts/4-stripping-whitespace-out-of-
textmate-2
On Dec 7, 2012, at 7:42 AM, riki wrote:Dear Elia,
Thank you very much for your kind response.
BTW I am not expert in TextMate grammar. So could you please elaborate your suggestions?
Kind Regards,
Riki
On Fri, 07 Dec 2012 15:04:26 +0530 wrote
>1) yes, you can setup the language grammar to catch and highlight those keywords in a given scope (e.g. data decl)2) I
don't think you can do that while you type, but probably you can create a command that does the transformation on
demand (or hook it to the saving)
Elia
☁ @elia ✎ elia at schito.me
☎ (+39) 348/9051393
On Thu, Nov 29, 2012 at 1:37 PM, riki wrote:
Hi all,
How to accomplish the following things within TextMate 2 for Fortran language:
1) Is it possible to appear warning in a tool tip if we type Fortran keywords in data declarations? I am asking because if
somehow or by mistake we are using those ones as variables and we know that Fortran does not complain about it.
2) The second thing is related to code formatting. Suppose we are writing a program in lower case letters and whenever
we
type any Fortran keyword we wish that it always came in upper case letters. Is there any way to do it?
Kind Regards,
Riki
Catch India as it happens with the Rediff News App. To download it for FREE, click here
_______________________________________________
textmate mailing list
textmate at lists.macromates.com
http://lists.macromates.com/listinfo/textmate
_______________________________________________
textmate mailing list
textmate at lists.macromates.com
http://lists.macromates.com/listinfo/textmate
FollowRediff Deal ho jaye!to get exciting offers in your city everyday.
_______________________________________________
textmate mailing list
textmate at lists.macromates.com
http://lists.macromates.com/listinfo/textmate
_______________________________________________
textmate mailing list
textmate at lists.macromates.com
http://lists.macromates.com/listinfo/textmate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20121213/c441e211/attachment-0001.html>
More information about the textmate
mailing list