{"action":"created","issue":{"url":"https://api.github.com/repos/geany/geany/issues/488","labels_url":"https://api.github.com/repos/geany/geany/issues/488/labels{/name}","comments_url":"https://api.github.com/repos/geany/geany/issues/488/comments","events_url":"https://api.github.com/repos/geany/geany/issues/488/events","html_url":"https://github.com/geany/geany/pull/488","id":73762843,"number":488,"title":"Rewrite scope completion (plus some cleanup and fixes of things around)","user":{"login":"techee","id":713965,"avatar_url":"https://avatars.githubusercontent.com/u/713965?v=3","gravatar_id":"","url":"https://api.github.com/users/techee","html_url":"https://github.com/techee","followers_url":"https://api.github.com/users/techee/followers","following_url":"https://api.github.com/users/techee/following{/other_user}","gists_url":"https://api.github.com/users/techee/gists{/gist_id}","starred_url":"https://api.github.com/users/techee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/techee/subscriptions","organizations_url":"https://api.github.com/users/techee/orgs","repos_url":"https://api.github.com/users/techee/repos","events_url":"https://api.github.com/users/techee/events{/privacy}","received_events_url":"https://api.github.com/users/techee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-05-06T22:59:42Z","updated_at":"2015-05-15T17:01:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/geany/geany/pulls/488","html_url":"https://github.com/geany/geany/pull/488","diff_url":"https://github.com/geany/geany/pull/488.diff","patch_url":"https://github.com/geany/geany/pull/488.patch"},"body":"1. Factor-out the part common to tags_array and global_tags\r\n2. Get both C/CPP tags when either of the languages is specified (both\r\nfor global_tags and tags_array)\r\n3. Remove unnecessary strcmp()s (tm_tags_find() should return only tags\r\nwith the specified name)\r\n4. Various minor cleanups"},"comment":{"url":"https://api.github.com/repos/geany/geany/issues/comments/102459132","html_url":"https://github.com/geany/geany/pull/488#issuecomment-102459132","issue_url":"https://api.github.com/repos/geany/geany/issues/488","id":102459132,"user":{"login":"techee","id":713965,"avatar_url":"https://avatars.githubusercontent.com/u/713965?v=3","gravatar_id":"","url":"https://api.github.com/users/techee","html_url":"https://github.com/techee","followers_url":"https://api.github.com/users/techee/followers","following_url":"https://api.github.com/users/techee/following{/other_user}","gists_url":"https://api.github.com/users/techee/gists{/gist_id}","starred_url":"https://api.github.com/users/techee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/techee/subscriptions","organizations_url":"https://api.github.com/users/techee/orgs","repos_url":"https://api.github.com/users/techee/repos","events_url":"https://api.github.com/users/techee/events{/privacy}","received_events_url":"https://api.github.com/users/techee/received_events","type":"User","site_admin":false},"created_at":"2015-05-15T17:01:36Z","updated_at":"2015-05-15T17:01:36Z","body":"> First quick testing looks just amazing! All my attempts gave only meaningful results, and the only missing ones are the ones coming through inheritance :) (tested quickly some C, Python and PHP).\r\nNice work!\r\n\r\nGreat to hear!\r\n\r\nOne thing I forgot to mention is that with global tags we'll keep getting the stupid behaviour where\r\n\r\n```\r\ntypedef struct {\r\n} Foo;\r\n```\r\n\r\nis resolved to anon_struct_0 and because we don't have the file information for global tags, you will get all members from anon_struct_0 in all global tags.\r\n\r\nI would suggest to add a file hash for every tag in the tags file (can be just an integer summing all the characters in the file or something similarly simple). Then we can create \"virtual\" TMSourceFiles for global tags and do basically the same as with workspace tags. This will of course work only for new tags files, the first TMSourceFile could be used for all tags without the file hash. What do you think?\r\n\r\n(I don't have time to do this now, just idea for the future.)"}}