It's useful to be able to attach arbitrary data to documents, especially for plugins. This PR adds GObject-like keyed data lists to documents so plugins can add stuff similar to `g_object_get|set_data()`. The first commit adds a simple wrapper to the document module, the second exposes a safe API for plugins.
In the future if GeanyDocument is ever converted to a GObject, the new `document_get|set_data()` functions could become simple wrappers around `g_object_get|set_data()` rather than using keyed data lists directly.
Aside from conventional plugins, this will also be useful for planned "filetype plugins" from #1195 and possibly for certain proxy plugin implementations, and could even prove useful in the core.
A made a very simple test plugin to tinker with this in https://github.com/codebrainz/geany/commit/b662ba3ca15969429ee2f9cf4c00e840….
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1203
-- Commit Summary --
* Add support for Keyed Data Lists for documents
* Add plugin API functions to get/set document data
-- File Changes --
M src/document.c (23)
M src/document.h (7)
M src/documentprivate.h (2)
M src/plugins.c (39)
M src/pluginutils.c (153)
M src/pluginutils.h (11)
-- Patch Links --
https://github.com/geany/geany/pull/1203.patchhttps://github.com/geany/geany/pull/1203.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1203
Expect [1] scripts filenames generally end in .exp, although the code
itself is actually in Tcl. I find my self manually selecting Tcl quite
often, so I think it would be nice if Geany would recognize it direcly
as Tcl.
[1] http://expect.sourceforge.net/
Signed-off-by: Simon Marchi <simon.marchi(a)polymtl.ca>
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/979
-- Commit Summary --
* Recognize .exp (Expect) files as Tcl
-- File Changes --
M data/filetype_extensions.conf (2)
-- Patch Links --
https://github.com/geany/geany/pull/979.patchhttps://github.com/geany/geany/pull/979.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/979
Previously, the documentation on the duplication did not clearly delineate the behavior of the `duplication` keystroke.
Specifically, it was possible to interpret this keystroke as performing selection-only `duplication`.
However, `duplication` only duplicates the selection on the same line, or the multiple lines which are selected.
Accordingly, add additional statements clarifying the behavior of `duplication`.
This is intended to fix [issue #1075](https://github.com/geany/geany/issues/1075)
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1228
-- Commit Summary --
* Fix: Improve documentation on duplication
-- File Changes --
M doc/geany.txt (4)
-- Patch Links --
https://github.com/geany/geany/pull/1228.patchhttps://github.com/geany/geany/pull/1228.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1228
So plugins can set the current command rather than only get it, as well as get a specific command rather than only set it.
__Note:__ This needs real code review since I had a hard time following the code in `build.c`, I'm not 100% confident I implemented this correctly. Will be testing with a real plugin soon.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1225
-- Commit Summary --
* Make build_get/set_(current_)menu_item functions symmetrical
-- File Changes --
M src/build.c (175)
M src/build.h (8)
M src/plugindata.h (2)
-- Patch Links --
https://github.com/geany/geany/pull/1225.patchhttps://github.com/geany/geany/pull/1225.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1225
The previous string was a bit confusing what the placeholders
could mean. There was an error in the German translation where
the second placeholder was interpreted as template name instead
of the error message.
This change should make it more clear and also put the error message
to the end of the string.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1166
-- Commit Summary --
* Improve template command error message
-- File Changes --
M src/templates.c (4)
-- Patch Links --
https://github.com/geany/geany/pull/1166.patchhttps://github.com/geany/geany/pull/1166.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1166
For this to work, we need to connect to the "button-press-event" for
each document and then differentiate between single and double
clicks, using a timeout handler which is triggered first after the GTK
double-click-time has passed, i.e. GTK won't recognise the event as part
of a double click.
I didn't find a easier solution to differentiate between single and double click.
Better ideas are welcome.
Closes #445.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/481
-- Commit Summary --
* Addons: Implement unselect with single click
* Make 'single click deselect' feature configurable
-- File Changes --
M addons/src/addons.c (45)
M addons/src/ao_markword.c (123)
M addons/src/ao_markword.h (6)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/481.patchhttps://github.com/geany/geany-plugins/pull/481.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/481
* Add GEANY_ prefix to enumerators.
* Use a discrete set of enumerators so the proxy doesn't have to worry about flag bitmasks, which isn't required.
* Update documentation.
* Use the new enumerators in Geany.
* Improve debug output for bogus values a bit.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1213
-- Commit Summary --
* Improve GeanyProxyProbeResults a litte
-- File Changes --
M doc/plugins.dox (13)
M plugins/demoproxy.c (2)
M src/plugindata.h (39)
M src/plugins.c (13)
-- Patch Links --
https://github.com/geany/geany/pull/1213.patchhttps://github.com/geany/geany/pull/1213.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1213
IMO, the `pluginsymbols.c` documentation should be updated with the new plugin symbols (eg. `geany_load_module()`, `geany_plugin_set_data()`, `geany_plugin_register_proxy()`, etc) rather than deprecated/hidden. I find often now I cannot easily find these critical plugin functions and this file was my goto for that kind of stuff with the legacy API.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/commit/d54b65b9ac6d981a7f770abfb11f6dba2e875…
Hello, I have two problems with the current C tagfile. The bool type seems to be in it, but bool isn't highlighted when using it. The other problem is that pthread types are present, but pthread functions aren't (not part of c99?).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1221
The purpose of this pull request is to bring parsers as close to uctags parsers as possible in terms of their interaction with the "main" part of ctags (this means, no changes in parser's actual logic are made in this patch set). This involves various renames of functions in the "API" of "main" so that Geany parsers call the same functions as the uctags ones. Additional modifications include using tab-only indentation style (some files used combination of tabs and spaces) and unification of includes with uctags so some stuff had to be moved around.
I was concentrated mostly on how the parsers look - in some cases I didn't backport the full implementation of the "main" functionality and used just some dummy implementation (in cases where the actual implementation isn't used by Geany).
At this point, parsers can be synced one by one independently of the sync work inside "main" (some are already identical with the uctags ones!). The work on syncing "main" shouldn't affect the work on syncing parsers (there are just tiny bits missing like cork support but these will be 1-line diffs in parsers).
It would be good to merge this soon - the patches have a huge potential to introduce merge conflicts with any other change made in the ctags directory and resolving conflicts will be quite painful.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1160
-- Commit Summary --
* ctags: Remove unused Geany-specific tagEntryInfo fields
* ctags: Remove useless Geany-specific tagEntryInfo::type field
* ctags: Rename Geany-specific tagEntryInfo::arglist to upstream's ::signature
* Make parser includes closer to uctags and sync parser license header
* Move keywordTable definition to parse.h and use it for all parsers
* Define ARRAY_SIZE() and use it instead of KIND_COUNT()
* Use uctags implementation of keyword.c/h
* Don't use combination of tabs and spaces for indentation
* Add keywordTable to parserDefinition and use a common way to initialize keywords
* Rename "mio" member of sInputFile to "fp"
* Eliminate readNextChar() and pushBackChar()
* Add separate "input" entry to sInputFile and use it
* Rename fileGetc() to getcFromInputFile()
* Rename fileUngetc() to ungetcToInputFile()
* Rename fileSkipToCharacter() to skipToCharacterInInputFile()
* Rename fileGetNthPrevC() to getNthPrevCFromInputFile()
* Rename fileReadLine() to readLineFromInputFile()
* Rename readLine() to readLineRaw()
* Replace fileGetc() with getcFromInputFile() also in comments
* Eliminate some trivial diffs in read.c
* Rename tagEntryInfo.extensionFields.scope
* Rename get.c/h to lcpp.c/h
* Pass kind information into initTagEntry()
* Use getInputLineNumber() instead of getSourceLineNumber() in parsers
* Add parserNewFull() and use it for selected parsers
* Add full xtag implementation and use it to check XTAG_QUALIFIED_TAGS
* Add tagRegexTable to parserDefinition and use it to define regex parsers
* Remove ctags.c and move its content to routines.c, main.c and options.c
-- File Changes --
M ctags/Makefile.am (12)
M ctags/main/args.c (322)
M ctags/main/args.h (40)
D ctags/main/ctags.c (1397)
M ctags/main/ctags.h (12)
A ctags/main/debug.h (0)
M ctags/main/entry.c (462)
M ctags/main/entry.h (78)
M ctags/main/general.h (123)
M ctags/main/keyword.c (284)
M ctags/main/keyword.h (15)
A ctags/main/kind.h (27)
R ctags/main/lcpp.c (134)
R ctags/main/lcpp.h (11)
M ctags/main/lregex.c (28)
A ctags/main/main.c (277)
M ctags/main/main.h (68)
M ctags/main/nestlevel.c (2)
M ctags/main/options.c (188)
M ctags/main/options.h (114)
M ctags/main/parse.c (877)
M ctags/main/parse.h (86)
M ctags/main/parsers.h (106)
M ctags/main/read.c (866)
M ctags/main/read.h (131)
A ctags/main/routines.c (788)
A ctags/main/routines.h (111)
M ctags/main/sort.c (256)
M ctags/main/sort.h (6)
M ctags/main/strlist.c (4)
M ctags/main/vstring.c (182)
M ctags/main/vstring.h (46)
A ctags/main/xtag.c (155)
A ctags/main/xtag.h (55)
M ctags/parsers/abaqus.c (5)
M ctags/parsers/abc.c (9)
M ctags/parsers/actionscript.c (62)
M ctags/parsers/asciidoc.c (15)
M ctags/parsers/asm.c (30)
M ctags/parsers/basic.c (7)
M ctags/parsers/c.c (96)
M ctags/parsers/cobol.c (41)
M ctags/parsers/conf.c (49)
M ctags/parsers/css.c (43)
M ctags/parsers/diff.c (9)
M ctags/parsers/docbook.c (5)
M ctags/parsers/erlang.c (16)
M ctags/parsers/fortran.c (116)
M ctags/parsers/go.c (80)
M ctags/parsers/haskell.c (495)
M ctags/parsers/haxe.c (327)
M ctags/parsers/html.c (52)
M ctags/parsers/jscript.c (106)
M ctags/parsers/json.c (27)
M ctags/parsers/latex.c (339)
M ctags/parsers/lua.c (7)
M ctags/parsers/make.c (20)
M ctags/parsers/markdown.c (9)
M ctags/parsers/matlab.c (33)
M ctags/parsers/nsis.c (7)
M ctags/parsers/objc.c (46)
M ctags/parsers/pascal.c (510)
M ctags/parsers/perl.c (23)
M ctags/parsers/php.c (203)
M ctags/parsers/powershell.c (55)
M ctags/parsers/python.c (57)
M ctags/parsers/r.c (295)
M ctags/parsers/rest.c (15)
M ctags/parsers/ruby.c (16)
M ctags/parsers/rust.c (24)
M ctags/parsers/sh.c (121)
M ctags/parsers/sql.c (95)
M ctags/parsers/tcl.c (7)
M ctags/parsers/txt2tags.c (14)
M ctags/parsers/verilog.c (36)
M ctags/parsers/vhdl.c (257)
M src/tagmanager/tm_ctags_wrappers.c (2)
M src/tagmanager/tm_source_file.c (12)
-- Patch Links --
https://github.com/geany/geany/pull/1160.patchhttps://github.com/geany/geany/pull/1160.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1160