[EMBOSS] An emacs mode to edit acd files
Ye Wenbin
wenbinye at gmail.com
Tue Aug 14 02:56:35 UTC 2007
On Tue, 14 Aug 2007 00:46:13 +0800, Peter Rice <pmr at ebi.ac.uk> wrote:
> Do you have a short user guide to explain what features it has? I
> discovered things like "appl<space>" and "sec<space>" which are nice.
I wrote some simple description about features of acd-mode in the header
of the files. Except keywords highlight and indentation as a major modes
should do, I add some useful feature for editing:
1. support for imenu. You can use M-x imenu to move to other tokens
2. abbrevation using tempo.el. As you see, currently I add two abbrev
"appl" and "sec", but you can add more as you like. That is easy,
after load 'acd.el', you can use acd-define-tempo-template to add an
new tempo template, for example:
(acd-define-tempo-template
"int"
'("integer")
'("default" "information"))
The new abbrev cannot be used in a buffer opened before it defined, you
have to M-x acd-mode to ask tempo install the new tempo-local-tags.
Now you can type int<space> and expand it to:
integer: <point> [
default: "<mark>"
information: "<mark>"
]
tempo can create marks when expand the template, so you move around
using tempo-forward-marks and tempo-backward-marks, which are bound to
C-c C-n and C-c C-p in acd-mode. This feature make me choose it rather
than skeleton. And if you think you abbrev still to long, you can use
M-x tempo-complete-tag to complete an abbrev, it is bound to C-c TAB.
3. Completion. Many things can be completed using TAB. For example,
the name of data type bool<TAB> can complete to boolean. And the
attributes of the data type can be completed like:
boolean feature [
def<TAB>
will get "default".
The name of variable can be completed when it is declare before point:
sequence: inseq [
features: $(fe<TAB>
will get "feature" if the variable "feature" is declare before.
The calculated attributes also can be completed. $(inseq.le<TAB> can get
"length" if the "inseq" is declared as type "sequence" before.
Today I add completions for standard groups because I think it is hard
to
remember so many groups. You can complete group name as:
groups: "<TAB>
That all what acd-mode do.
I want add a command acd-pretty that use command acdpretty to reformat
code, but I don't know how to make the command read input from stdin,
I use command:
$ cat appl.acd | acdpretty -filter
but failed. Is it possible to make the command read from stdin?
> Which version of EMBOSS did you use?
I check out the cvs version of emboss, and build it myself.
This is some question about the document of library. I can find some
scripts to generate
documents for libraries under directory "scripts", but I can find command
to build it.
I try "make html" "make info", but get nothing. And run embossdoc.csh get
errors:
$ csh scripts/embossdoc.csh /home/ywb/downloads/emboss/emboss/
/home/ywb/downloads/emboss/emboss/doc
touch: Cannot touch
'/home/ywb/downloads/emboss/emboss/doc/ajax/dummy.html': No such file or
directory
foreach: No match.
How can I use those scripts?
Thanks!
--
Best regards,
Ye Wenbin
More information about the EMBOSS
mailing list