Re: Geany setup for Euphoria?
- Posted by K_D_R Oct 25, 2011
- 38451 views
A rose by any other name is a rose just the same...
As far as I can tell, I have gained full Geany support for Euphoria. The only hitch is that you can't call it "Euphoria". I basically rewrote all the lua files for Euphoria. I suppose you could do it with any of the other fully supported files located in /usr/share/Geany/ just as well. I was never able to get color support to work using custom file types.
Geany has 7+ user defined sections in it's "Build" menu which can be configured to compile, Shroud, Bind, probably even to gather files for distribution using "eudist". It also has a configurable context command which can be assigned to a key.
The syntax color support looks very complicated at first blush, but there is a color chooser available in the tools menu which makes it a snap to configure the colors to your preference.
# filetypes.lua edited to support the Euphoria Programming Language # The lua filetype extensions in the global filetype_extensions file should be changed to Euphoria extensions # Lua=*.e;*.ex;*.eu;*.ew;*.exw; [styling] # foreground;background;bold;italic default=0x000000;0xffffff;false;false comment=0xd00000;0xffffff;false;false commentline=0xd00000;0xffffff;false;false # commentdoc=0x3f5fbf;0xffffff;true;false number=0x007f00;0xffffff;false;false word=0x00007f;0xffffff;true;false string=0xff901e;0xffffff;false;false character=0x008000;0xffffff;false;false literalstring=0x008020;0xffffff;false;false preprocessor=0x007f7f;0xffffff;false;false operator=0x301010;0xffffff;false;false identifier=0x000000;0xffffff;false;false stringeol=0x000000;0xe0c0e0;false;false keywords=0x0000FF;0xffffff;true;false function_other=0xCC99CC;0xffffff;false;false # extra could be used for 3rd party libraries: extra=0x#404080 [keywords] # all items must be in one line keywords=and as break by case constant continue do else elsedef elsif elsifdef end entry export fallthru for function global goto if ifdef include label loop namespace not or override procedure public retry return routine switch then to type until while with without xor function_other=? abort and_bits append arctan atom c_func c_proc call call_func call_proc clear_screen close command_line compare cos date delete delete_routine equal find floor get_key getc getenv gets hash head include_paths insert integerlength log machine_func machine_proc match mem_copy mem_set not_bits object open option_switches or_bits peek peek2s peek2u peek4s peek4u peek_string peeks pixel platform poke poke2 poke4 position power prepend print printf puts rand remainder remove repeat replace routine_id sequence sin splice sprintf sqrt system system_exec tail tan task_clock_start task_clock_stop task_create task_list task_schedule task_self task_status task_suspend task_yield time trace xor_bits [settings] lexer_filetype=C tag_parser=c # default extension used when saving files extension=ex # the following characters are these which a "word" can contains, see documentation #wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 # if only single comment char is supported like # in this file, leave comment_close blank comment_open=-- comment_close= # this is an alternative way, so multiline comments are used #comment_open=--[[ #comment_close=]]-- # set to false if a comment character/string should start at column 0 of a line, true uses any # indentation of the line, e.g. setting to true causes the following on pressing CTRL+d # #command_example(); # setting to false would generate this # command_example(); # This setting works only for single line comments comment_use_indent=true # context action command (please see Geany's main documentation for details) context_action_cmd=epiphany http://openeuphoria.org/search/results.wc?manual=1&s="%s" [build_settings] # %f will be replaced by the complete filename # %e will be replaced by the filename without extension # (use only one of it at one time) compiler= run_cmd=eui ./"%f" [build-menu] EX_00_LB=_Execute EX_00_CM=eui ./%e EX_00_WD= FT_00_LB=Compile FT_00_CM=euc "%f" FT_00_WD= FT_01_LB=Bind FT_01_CM=eubind "%f" FT_01_WD= FT_02_LB=Shroud FT_02_CM=eushroud "%f" FT_02_WD=