[NTG-context] Check brackets and parentheses

2012-07-06 Thread Gilbert Houtekamer
Hi,

I sometimes find myself looking for misplaced and missing brackets for a long 
time, as context may given errors about a completely different location.

For example this one took me a while
   \goto{\url[localhost20381}[url(localhost20381)]
 
(missing ] after this localhost20381).

Is there a SciTE or Notepad++ or command line script that anyone wrote to help 
with this?  It can be more or less sophisticated, but I found that missing / 
mismatched { [ ] } give the most confusing errors.  

Thanks,

Best regards/vriendelijke groeten
Gilbert

___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] Check brackets and parentheses

2012-07-06 Thread Henning Hraban Ramm
2012/7/5 Gilbert Houtekamer gilbert.houteka...@gmail.com:
 Hi,

 I sometimes find myself looking for misplaced and missing brackets for a long 
 time, as context may given errors about a completely different location.

 For example this one took me a while
\goto{\url[localhost20381}[url(localhost20381)]

 (missing ] after this localhost20381).

 Is there a SciTE or Notepad++ or command line script that anyone wrote to 
 help with this?  It can be more or less sophisticated, but I found that 
 missing / mismatched { [ ] } give the most confusing errors.

A lot of (most?) programming editors do paren checking, at least in
that they show which paren matches the one the cursor is on.
Maybe you can simply switch it on/off per language in your editor?
(It’s been a while since I tried SciTE...)

Greetlings, Hraban
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___

Re: [NTG-context] Check brackets and parentheses

2012-07-06 Thread Hans Hagen

On 5-7-2012 20:40, Gilbert Houtekamer wrote:

Hi,

I sometimes find myself looking for misplaced and missing brackets for a long 
time, as context may given errors about a completely different location.

For example this one took me a while
\goto{\url[localhost20381}[url(localhost20381)]

(missing ] after this localhost20381).

Is there a SciTE or Notepad++ or command line script that anyone wrote to help 
with this?  It can be more or less sophisticated, but I found that missing / 
mismatched { [ ] } give the most confusing errors.


mtxrun --autogenerate --script check page-bck.mkiv

(I have it under F12 in scite)

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
 | www.pragma-pod.nl
-


___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___


Re: [NTG-context] Check brackets and parentheses

2012-07-06 Thread Pontus Lurcock
On Thu 05 Jul 2012, Gilbert Houtekamer wrote:

 I sometimes find myself looking for misplaced and missing brackets for a long 
 time, as context may given errors about a completely different location.
 
 For example this one took me a while
\goto{\url[localhost20381}[url(localhost20381)]
  
 (missing ] after this localhost20381).
 
 Is there a SciTE or Notepad++ or command line script that anyone wrote to 
 help with this?  It can be more or less sophisticated, but I found that 
 missing / mismatched { [ ] } give the most confusing errors.  

I wrote the attached Python script a while ago to catch cases like
this, where an opening bracket accidentally ‘contains’ the whole rest
of the file. The script just keeps a running count of the nesting
level, and gives the number of the last line where the nesting level
was zero. Usually the offending bracket is at or very close to that
line. It does that same for \start... and \stop..., in a very stupid 
way (i.e. just counts them without identifying them, wouldn't
catch e.g. \startonething \stopsomeotherthing).

Hope it's helpful,

Pont
#!/usr/bin/python

import sys

'''Count opening and closing braces in a file.'''

def count(filename, opening, closing):
print opening, closing
f = open(sys.argv[1], 'r')
braces = 0
i = 1
last_zero = -1
for line in f.readlines():
braces += line.count(opening)
braces -= line.count(closing)
if braces==0: last_zero = i
i += 1
f.close()
print last_zero

count(sys.argv[1], '{', '}')
count(sys.argv[1], '[', ']')
count(sys.argv[1], '\\start', '\\stop')
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___

Re: [NTG-context] Check brackets and parentheses

2012-07-06 Thread Hongwen Qiu

On 07/06/2012 03:38 PM, Pontus Lurcock wrote:

brace-lint.py


#!/usr/bin/python

import sys

'''Count opening and closing braces in a file.'''

def count(filename, opening, closing):
 print opening, closing
 f = open(sys.argv[1], 'r')

Shouldn't this line be
 f = open(filename, 'r')
otherwise the 'filename' parameter will not be used

 braces = 0
 i = 1
 last_zero = -1
 for line in f.readlines():
 braces += line.count(opening)
 braces -= line.count(closing)
 if braces==0: last_zero = i
 i += 1
 f.close()
 print last_zero

count(sys.argv[1], '{', '}')
count(sys.argv[1], '[', ']')
count(sys.argv[1], '\\start', '\\stop')



___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___

Re: [NTG-context] Check brackets and parentheses

2012-07-06 Thread Pontus Lurcock
On Fri 06 Jul 2012, Hongwen Qiu wrote:

 def count(filename, opening, closing):
  print opening, closing
  f = open(sys.argv[1], 'r')
 Shouldn't this line be
  f = open(filename, 'r')
 otherwise the 'filename' parameter will not be used

Oops, you're quite correct. Of course it makes no difference at
present, but one day some unlucky person will try to use the function
elsewhere. The script was written in a hurry, as you may guess.

Pont
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___