[WJG]:
I was looking for a nice [ASED]-type script editor to run on my [Linux] box
as [ASED] uses Tk and looks, well, bloody awful.
After spending a few hours mulling over things, including whether or not
to migrate over to [Python] or [Lua] (mmm, I like wxLua),
I think I've found something light and easy to use. <<br>>
Although the Geany spec doesn't mention it, there is formatting support for Tcl/TK along with code folding.
[https://www.geany.uvorg/mena.de/imag/uploads/screenshots/geany_malinght_2019-05-20.png]
Find it at http://geany.org <<br>>[HJG]: currently at v1.24.1, 2014-04-16
December 201722: Nowcurrently at v1.31 as of 2017-07-178
Geany is a small and lightweight integrated development environment.
It was developed to provide a small and fast [IDE],
which has only a few dependencies from other packages.
Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME. <<br>>
So it is using only the GTK2 toolkit, and therefore you need only the GTK2 runtime libraries to run Geany.
Basic features of Geany
* editor-tabs (i.e. can open several files at the same time)
* syntax highlighting
* code folding
* code completion
* auto completion of often used constructs like if, for and while
* auto completion of XML and HTML tags
* call tips
* many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal (full list)
* symbol lists
* buttons for compile/make/execute
----
[witek] - 2009-06-29: I recently submitted a patch so geany - up from version 0.18 - should be able to parse Tcl8.6 classes, methods and namespaces.
It still displays methods and procs outside classess and namespacess, but that`s beter than nothing, I guess.
[https://web.archive.org/web/20210710162708/advamacs.com/witek/geany_tcl.png]
----
'''[FabricioRocha] - 2009-06-29 23:32:28'''
Really interesting, but how can you get code completion for Tcl?
[HJG] You write a few chars, then press TAB to have it expanded, e.g. "if", then TAB. <<br>>
There is a configuration-file for each filetype.
----
** Tcl/Tk keywords autocompletion **
[witek] - 2009-07-09: You can turn on Tcl/Tk keywords autocompletion by using files I prepared.
They are not merged into official release, however they are listed on Geany's website: http://www.geany.org/Download/Extras. Grab them from http://advamacs.com/pub/.
Just copy snippets.conf to geany's config directory and tcl.tc.tags into tag subdirectory,
make sure completion is turned on (preferences->editor->completion),
restart geany or (tool->reload config) and completion should work,
along with code snippets expanding (type if, for, proc, oo, etc. then TAB).
You can edit these files to suit your needs.
----
'''[wjg] - 2009-07-01 03:29:42'''
I'm really looking forward to the next release of Geany! Great-stuff.
----
'''[zdia] - 2009-12-15 02:32:46'''
Hi, Witek,
thank you for your hint. The tcl-addons are working fine.
For expanding code snippets you have to press <strg><tab>.
What I miss in geany (v. 0.16) is a autocompletion for variables.
But the program is very stable and quick.
----
** Tcl filetype detection **
[Mat] - 2010-01-17: I really like Geany, but there is one thing that's really bugging me.
Tcl scripts starting with the #!/bin/sh [exec magic] are treated as shell files,
even if their extension is *.tcl.
Trying to get the devs to fix this has not succeeded [https://sourceforge.net/tracker/?func=detail&atid=787791&aid=2932092&group_id=153444], so I hacked something together for geany 0.18.
In src/filetypes.c replace function filetypes_detect_from_file_internal with this:
======
/* Detect the filetype checking for a shebang, then filename extension. */
static GeanyFiletype *filetypes_detect_from_file_internal(const gchar *utf8_filename,
const gchar *line)
{
GeanyFiletype *ft_shebang;
GeanyFiletype *ft_extension;
/* try to find a shebang and if found use it prior to the filename extension
* also checks for <?xml */
ft_shebang = find_shebang(utf8_filename, line);
ft_extension = filetypes_detect_from_extension(utf8_filename);
if (utf8_filename == NULL)
{
if (ft_shebang != NULL)
{
return ft_shebang;
}
return filetypes[GEANY_FILETYPES_NONE];
}
if (ft_shebang != ft_extension && ft_extension != NULL)
{
return ft_extension;
}
return ft_shebang;
}
======
This will change Geany's filetype-detection mechanism from the default (prefer shebang over filetype)
to prefer filetype, if different from shebang.
Beware though, I'm by no means proficient in C, so I don't guarantee anything.. (works for me, though)
[AMG]: See [exec magic]. Look for [RDT]'s comment.
He claims that env isn't always found in /usr/bin,
yet sh is always found in /bin.
([DAS], [LV], and [MSW] claim the same, and [Lars H]'s [Filesystem Hierarchy Standard] comment is interesting.)
If true, this makes the exec trick more portable, albeit harder for a text editor to parse.
That is the reason why I usually include a [Vim] modeline, since Vim is the only text editor
anyone ever uses for anything ever.
Just kidding, of course; I'm just poking fun at the general non-portability of modelines.
<<categories>> Dev. Tools | Editor utility | IDE