[Github-comments] [geany] Rewrite scope completion 3 (#862)

Jiří Techet notifications at xxxxx
Sun Jan 10 17:36:28 UTC 2016


This is the third iteration of the scope completion patch set. I hopefully addressed all the comments from v2 (I made a few comments in v2 where it didn't make sense to update the patch because the resulting code didn't contain the code).

I edited the corresponding patches in most cases so there's just a single additional commit containing the use of tm_tag_context_separator() instead of "::" at the very end of the patch set.

To see the differences between v2 and v3, it's probably easier to compare just the diffs introduced by the previous patch set with the diffs introduced by this patch set. Attached are the diffs for v2 and v3 - the differences are quite nicely visible when comparing the two in a diff viewer (yeah, diffing diffs, welcome to metareview :-). The diff file for v3 doesn't contain the "::" patch which should be reviewed separately.

[scope_diffs.zip](https://github.com/geany/geany/files/84200/scope_diffs.zip)

You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/862

-- Commit Summary --

  * Clean up tm_workspace_find()
  * Improve scoped search
  * Eliminate calls of slow tm_tags_extract() on big arrays
  * Merge tm_workspace_find() and tm_workspace_find_scoped()
  * Disallow the possibility to use tm_tags_find() on unsorted array
  * Get scope members only from corresponding tag arrays
  * When extracting members, get them from single file only
  * Merge add_member() and find_scope_members_tags()
  * Remove unused tm_workspace_find_namespace_members()
  * Sane implementation of find_scope_members_tags()
  * Improve tag searching for "typedef struct {...}" cases
  * Don't use enums for scoped search
  * Move symbols_get_context_separator() implementation to TM
  * Get members from the same file as the type/struct/union
  * Perform "namespace" search (autocomplete for A:: where A is a type)
  * Popup scope autocompletion dialog in more cases
  * Perform scope autocompletion based on function return types
  * Get members from the same file as the type/struct/union
  * Filter scope autocompletion list based on user input
  * Remove anon_* elements when performing namespace search
  * Use only binary search to find first/last element in a row of equal tags
  * Simplify tag type specifications in scope search
  * Don't use anon_struct_* and similar members unless we are sure it's the right one
  * Add a "prefix" search for non-scope autocompletion
  * Show typedef name in sidebar if struct name not available
  * Minor cleanup
  * Remove anonymous structure identifier part in the symbol list
  * Improve anonymous type handling
  * Skip [] when performing scope autocompletion
  * Skip typedef resolution in namespace search if not needed
  * Use language-specific context separator instead of hard-coded "::"

-- File Changes --

    M src/editor.c (168)
    M src/symbols.c (63)
    M tagmanager/src/tm_source_file.c (18)
    M tagmanager/src/tm_tag.c (161)
    M tagmanager/src/tm_tag.h (10)
    M tagmanager/src/tm_workspace.c (872)
    M tagmanager/src/tm_workspace.h (16)

-- Patch Links --

https://github.com/geany/geany/pull/862.patch
https://github.com/geany/geany/pull/862.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/862
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20160110/bc43078a/attachment.html>


More information about the Github-comments mailing list