Revision: 1442
http://svn.sourceforge.net/geany/?rev=1442&view=rev
Author: ntrel
Date: 2007-04-07 08:05:09 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
Add Construct completion in the Editing section.
Add Tags section, including how to generate a replacement global.tags
file.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.docbook
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-07 11:05:31 UTC (rev 1441)
+++ trunk/ChangeLog 2007-04-07 15:05:09 UTC (rev 1442)
@@ -3,6 +3,10 @@
* src/sci_cb.c:
Only insert a space if construct completion occurs, to prevent
unusual undo history.
+ * doc/geany.docbook:
+ Add Construct completion in the Editing section.
+ Add Tags section, including how to generate a replacement global.tags
+ file.
2007-04-05 Nick Treleaven <nick.treleaven(a)btinternet.com>
Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook 2007-04-07 11:05:31 UTC (rev 1441)
+++ trunk/doc/geany.docbook 2007-04-07 15:05:09 UTC (rev 1442)
@@ -547,6 +547,26 @@
</variablelist>
</para>
</section>
+ <section id="editing_cc">
+ <title>Construct completion</title>
+ <para>
+ Built-in construct completion is available for C-like languages. By default the
+ <keycap>Tab</keycap> key is used straight after typing the construct keyword.
+ </para>
+ <para>
+ Example: <literal>for</literal><TAB>
+ </para>
+ <para>
+ typed into a C file expands to:
+ </para>
+ <para>
+ <literallayout><literal>for (i = 0; i < ; i++)
+ {
+
+ }
+ </literal></literallayout>
+ </para>
+ </section>
<section id="editing_bookmarks">
<title>Bookmarks</title>
<para>
@@ -696,7 +716,7 @@
see the entry for '\n' in <xref linkend="regexp"/>.
</para>
</section>
- <section id="go_to_tag">
+ <section id="search_gototag">
<title>Go to tag definition</title>
<para>
If the current word is the name of a tag definition (like a function body)
@@ -825,6 +845,66 @@
</note>
</section>
</section>
+ <section id="tags">
+ <title>Tags</title>
+ <section><title>Workspace tags</title>
+ <para>
+ Tags for each document are parsed whenever a file is loaded or saved. These are
+ shown in the Symbol list in the Sidebar. These tags are also used for autocompletion
+ and calltips in other documents open in the current session.
+ </para>
+ <para>
+ The <emphasis>Go to Tag</emphasis> commands can be used with all workspace tags.
+ See <xref linkend="search_gototag"/>.
+ </para>
+ </section>
+ <section><title>Global tags</title>
+ <para>
+ For some languages, a list of global tags is loaded when the corresponding filetype
+ is first used. Currently these are for:
+ <itemizedlist>
+ <listitem><para>C - GTK+ and GLib</para></listitem>
+ <listitem><para>Pascal</para></listitem>
+ <listitem><para>PHP</para></listitem>
+ <listitem><para>HTML - ampersand, copyright, etc. symbol completion</para></listitem>
+ <listitem><para>LaTeX</para></listitem>
+ </itemizedlist>
+ </para>
+ <section><title>Generating a global tags file</title>
+ <para>
+ <application>Geany</application> currently uses a file <filename>global.tags</filename>
+ for C and C++, commonly installed in <filename>/usr/share/geany</filename>. This
+ file can be replaced with one containing tags parsed from a different set of
+ header files. The following command was used to generate it, from a
+ <filename>bash</filename> shell:
+ </para>
+ <para>
+ <literal>CFLAGS=`pkg-config --cflags libgnomeui-2.0` geany -g global.tags
+ /usr/include/libgnomeui-2.0/gnome.h
+ </literal>
+ </para>
+ <para>
+ You can adapt this command to use CFLAGS and header files appropriate for
+ whichever libraries you want. The format is:
+ </para>
+ <para>
+ geany -g <Tag File> <File list>
+ </para>
+ <para>
+ <filename>gcc</filename> is required, as header files are preprocessed to include
+ any other header files they depend upon. Currently <filename>grep</filename> is
+ also required for tags generation.
+ </para>
+ <para>
+ After creating the file, replace the installed
+ <filename>global.tags</filename> file with it and restart
+ <application>Geany</application>. You should keep a copy of the generated
+ tags file because it will get overwritten when upgrading
+ <application>Geany</application>.
+ </para>
+ </section>
+ </section>
+ </section>
<section id="confdialog">
<title>Preferences</title>
<para>
@@ -1578,7 +1658,7 @@
<entry>Jump to the definition of the current word (near the
keyboard cursor). If the definition cannot be found (e.g. the
relevant file is not open) <application>Geany</application>
- will beep and do nothing. See <xref linkend="go_to_tag"/>.
+ will beep and do nothing. See <xref linkend="search_gototag"/>.
</entry>
</row>
<row>
@@ -1586,7 +1666,7 @@
<entry>Jump to the declaration of the current word (near the
keyboard cursor). If the declaration cannot be found (e.g. the
relevant file is not open) <application>Geany</application>
- will beep and do nothing. See <xref linkend="go_to_tag"/>.
+ will beep and do nothing. See <xref linkend="search_gototag"/>.
</entry>
</row>
</tbody>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1441
http://svn.sourceforge.net/geany/?rev=1441&view=rev
Author: ntrel
Date: 2007-04-07 04:05:31 -0700 (Sat, 07 Apr 2007)
Log Message:
-----------
Correct Stopping running processes section - only Run can be stopped. Use <emphasis> instead of <literal> for command names.
Modified Paths:
--------------
trunk/doc/geany.docbook
Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook 2007-04-06 10:49:51 UTC (rev 1440)
+++ trunk/doc/geany.docbook 2007-04-07 11:05:31 UTC (rev 1441)
@@ -1128,8 +1128,8 @@
<section>
<title>Stopping running processes</title>
<para>
- If you started a build action (Compile, Build or Run) the Run button in the
- toolbar becomes a stop button and you can stop the curent action. This works
+ When there is a running program, the Run button in the
+ toolbar becomes a stop button and you can stop the current action. This works
by sending a signal to the process (and its child process(es)) to stop the
process. The used signal is SIGQUIT.
</para>
@@ -2049,8 +2049,8 @@
<title>Filetype templates</title>
<para>
Filetype templates are templates used as the basis of a new file. To use them, choose
- the <literal>New (with Template)</literal> menu item from the
- <literal>File</literal> menu.
+ the <emphasis>New (with Template)</emphasis> menu item from the
+ <emphasis>File</emphasis> menu.
</para>
<para>
By default, templates are created for some filetypes. Other filetype templates can be
@@ -2073,7 +2073,7 @@
</para>
<para>
There is also a template file <filename>template.none</filename> which is used when
- the <literal>New</literal> command is used without a filetype. This is empty by
+ the <emphasis>New</emphasis> command is used without a filetype. This is empty by
default.
</para>
</section>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1440
http://svn.sourceforge.net/geany/?rev=1440&view=rev
Author: ntrel
Date: 2007-04-06 03:49:51 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
Only insert a space if construct completion occurs, to prevent unusual undo history.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/sci_cb.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-05 12:07:46 UTC (rev 1439)
+++ trunk/ChangeLog 2007-04-06 10:49:51 UTC (rev 1440)
@@ -1,3 +1,10 @@
+2007-04-06 Nick Treleaven <nick.treleaven(a)btinternet.com>
+
+ * src/sci_cb.c:
+ Only insert a space if construct completion occurs, to prevent
+ unusual undo history.
+
+
2007-04-05 Nick Treleaven <nick.treleaven(a)btinternet.com>
* tagmanager/tm_workspace.c:
Modified: trunk/src/sci_cb.c
===================================================================
--- trunk/src/sci_cb.c 2007-04-05 12:07:46 UTC (rev 1439)
+++ trunk/src/sci_cb.c 2007-04-06 10:49:51 UTC (rev 1440)
@@ -1092,6 +1092,10 @@
sci_goto_pos(sci, pos + 3 + space_len + (2 * strlen(indent)), TRUE);
}
result = (construct != NULL);
+ if (result)
+ {
+ sci_insert_text(sci, pos, " "); // prefix all constructs with a space
+ }
g_free(construct);
return result;
}
@@ -1166,13 +1170,10 @@
// get the whitespace for additional indentation
space = utils_get_whitespace(app->pref_editor_tab_width, FALSE);
- sci_insert_text(sci, pos++, " "); // the construct matching expects a space
+ sci_start_undo_action(sci); // needed while we insert a space separately from construct
result = complete_constructs(idx, pos, buf, space, eol);
- if (! result)
- {
- sci_set_current_position(sci, pos, FALSE);
- SSM(sci, SCI_DELETEBACK, 0, 0); // cancel the space
- }
+ sci_end_undo_action(sci);
+
utils_free_pointers(eol, space, NULL);
return result;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1438
http://svn.sourceforge.net/geany/?rev=1438&view=rev
Author: ntrel
Date: 2007-04-05 04:53:52 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
Only construct-complete when the editor widget has focus.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/keybindings.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-05 11:27:44 UTC (rev 1437)
+++ trunk/ChangeLog 2007-04-05 11:53:52 UTC (rev 1438)
@@ -6,6 +6,8 @@
* doc/geany.docbook:
Add filtering out version control files with Extra options info to
Find in Files section.
+ * src/keybindings.c:
+ Only construct-complete when the editor widget has focus.
2007-04-03 Nick Treleaven <nick.treleaven(a)btinternet.com>
Modified: trunk/src/keybindings.c
===================================================================
--- trunk/src/keybindings.c 2007-04-05 11:27:44 UTC (rev 1437)
+++ trunk/src/keybindings.c 2007-04-05 11:53:52 UTC (rev 1438)
@@ -587,8 +587,10 @@
if (keys[i]->key == event->keyval && keys[i]->mods == event->state)
{
gint idx = document_get_cur_idx();
+ GtkWidget *focusw = gtk_window_get_focus(GTK_WINDOW(app->window));
- if (DOC_IDX_VALID(idx))
+ // keybinding only valid when scintilla widget has focus
+ if (DOC_IDX_VALID(idx) && focusw == GTK_WIDGET(doc_list[idx].sci))
{
ScintillaObject *sci = doc_list[idx].sci;
gint pos = sci_get_current_position(sci);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1437
http://svn.sourceforge.net/geany/?rev=1437&view=rev
Author: ntrel
Date: 2007-04-05 04:27:44 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
Add filtering out version control files with Extra options info to
Find in Files section.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.docbook
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-05 11:24:10 UTC (rev 1436)
+++ trunk/ChangeLog 2007-04-05 11:27:44 UTC (rev 1437)
@@ -3,6 +3,9 @@
* tagmanager/tm_workspace.c:
Write tm_tag_enumerator_t and tm_tag_macro_t (e.g. for GTK_STOCK_*)
tags when creating a global tags file, and store the pointerOrder.
+ * doc/geany.docbook:
+ Add filtering out version control files with Extra options info to
+ Find in Files section.
2007-04-03 Nick Treleaven <nick.treleaven(a)btinternet.com>
Modified: trunk/doc/geany.docbook
===================================================================
--- trunk/doc/geany.docbook 2007-04-05 11:24:10 UTC (rev 1436)
+++ trunk/doc/geany.docbook 2007-04-05 11:27:44 UTC (rev 1437)
@@ -635,12 +635,13 @@
The search results are shown in the Messages window.
</para>
</section>
- <section>
+ <section id="search_fif">
<title>Find in files</title>
<para>
Find in files is a more powerful version of Find usage that searches all files
in a certain directory using the Grep tool. The Grep tool must be correctly set
in Preferences to the path of the system's Grep utility.
+ GNU Grep is recommended.
</para>
<para>
<figure>
@@ -648,6 +649,33 @@
<graphic fileref="images/find_in_files_dialog.png"></graphic>
</figure>
</para>
+ <para>
+ The <emphasis>Extra options</emphasis> field is used to pass any additional
+ arguments to the <literal>grep</literal> tool.
+ </para>
+ <section><title>Filtering out version control files</title>
+ <para>
+ When using the <emphasis>Recurse in subfolders</emphasis> option with a
+ directory that's under version control, you can set the
+ <emphasis>Extra options</emphasis> field to use <literal>grep</literal>'s
+ <literal>--exclude</literal> flag to filter out filenames.
+ </para>
+ <para>
+ SVN Example: <literal>--exclude=*.svn-base</literal>
+ </para>
+ <note>
+ <para>
+ The GNU Grep project added support for excluding directories,
+ using the <literal>--exclude-dir</literal> flag.
+ At the time of writing (April 2007) this is unreleased outside
+ of version control.
+ Check your Grep manual to see if your version supports it.
+ </para>
+ <para>
+ Example: <literal>--exclude-dir=.* --exclude-dir=CVS</literal>
+ </para>
+ </note>
+ </section>
</section>
<section>
<title>Replace</title>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 1436
http://svn.sourceforge.net/geany/?rev=1436&view=rev
Author: ntrel
Date: 2007-04-05 04:24:10 -0700 (Thu, 05 Apr 2007)
Log Message:
-----------
Write tm_tag_enumerator_t and tm_tag_macro_t (e.g. for GTK_STOCK_*)
tags when creating a global tags file, and store the pointerOrder.
Modified Paths:
--------------
trunk/ChangeLog
trunk/tagmanager/tm_workspace.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-04-03 15:57:12 UTC (rev 1435)
+++ trunk/ChangeLog 2007-04-05 11:24:10 UTC (rev 1436)
@@ -1,3 +1,10 @@
+2007-04-05 Nick Treleaven <nick.treleaven(a)btinternet.com>
+
+ * tagmanager/tm_workspace.c:
+ Write tm_tag_enumerator_t and tm_tag_macro_t (e.g. for GTK_STOCK_*)
+ tags when creating a global tags file, and store the pointerOrder.
+
+
2007-04-03 Nick Treleaven <nick.treleaven(a)btinternet.com>
* src/search.c:
Modified: trunk/tagmanager/tm_workspace.c
===================================================================
--- trunk/tagmanager/tm_workspace.c 2007-04-03 15:57:12 UTC (rev 1435)
+++ trunk/tagmanager/tm_workspace.c 2007-04-05 11:24:10 UTC (rev 1436)
@@ -294,7 +294,7 @@
includes_files = NULL;
fclose(fp);
- /* FIXME: The following grep command it be remove the lines
+ /* FIXME: The following grep command removes the lines
* G_BEGIN_DECLS and G_END_DECLS from the header files. The reason is
* that in tagmanager, the files are not correctly parsed and the typedefs
* following these lines are incorrectly parsed. The real fix should,
@@ -325,7 +325,8 @@
return FALSE;
}
tags_array = tm_tags_extract(source_file->tags_array, tm_tag_class_t |
- tm_tag_typedef_t | tm_tag_prototype_t | tm_tag_enum_t | tm_tag_macro_with_arg_t);
+ tm_tag_typedef_t | tm_tag_prototype_t | tm_tag_enum_t | tm_tag_enumerator_t |
+ tm_tag_macro_t | tm_tag_macro_with_arg_t);
if ((NULL == tags_array) || (0 == tags_array->len))
{
if (tags_array)
@@ -343,10 +344,11 @@
tm_source_file_free(source_file);
return FALSE;
}
- for (i=0; i < tags_array->len; ++i)
+ for (i = 0; i < tags_array->len; ++i)
{
tm_tag_write(TM_TAG(tags_array->pdata[i]), fp, tm_tag_attr_type_t
- | tm_tag_attr_scope_t | tm_tag_attr_arglist_t | tm_tag_attr_vartype_t);
+ | tm_tag_attr_scope_t | tm_tag_attr_arglist_t | tm_tag_attr_vartype_t
+ | tm_tag_attr_pointer_t);
}
fclose(fp);
tm_source_file_free(source_file);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.