{"action":"created","issue":{"url":"https://api.github.com/repos/universal-ctags/ctags/issues/1657","repository_url":"https://api.github.com/repos/universal-ctags/ctags","labels_url":"https://api.github.com/repos/universal-ctags/ctags/issues/1657/labels{/name}","comments_url":"https://api.github.com/repos/universal-ctags/ctags/issues/1657/comments","events_url":"https://api.github.com/repos/universal-ctags/ctags/issues/1657/events","html_url":"https://github.com/universal-ctags/ctags/issues/1657","id":287925993,"number":1657,"title":"Clojure parser should handle metadata tags","user":{"login":"arichiardi","id":1724788,"avatar_url":"https://avatars0.githubusercontent.com/u/1724788?v=4","gravatar_id":"","url":"https://api.github.com/users/arichiardi","html_url":"https://github.com/arichiardi","followers_url":"https://api.github.com/users/arichiardi/followers","following_url":"https://api.github.com/users/arichiardi/following{/other_user}","gists_url":"https://api.github.com/users/arichiardi/gists{/gist_id}","starred_url":"https://api.github.com/users/arichiardi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arichiardi/subscriptions","organizations_url":"https://api.github.com/users/arichiardi/orgs","repos_url":"https://api.github.com/users/arichiardi/repos","events_url":"https://api.github.com/users/arichiardi/events{/privacy}","received_events_url":"https://api.github.com/users/arichiardi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":33,"created_at":"2018-01-11T21:13:16Z","updated_at":"2018-04-20T02:33:18Z","closed_at":null,"author_association":"NONE","body":"In Clojure we have custom readers and one of them adds metadata to the symbol it preceeds.\r\n\r\nI have a file like this one:\r\n\r\n```clojure\r\n(ns ^{:doc \"Utility functions.\"} ep-cloud.util)\r\n\r\n(defn debug? ^boolean\r\n  []\r\n  goog.DEBUG)\r\n```\r\n\r\nproduces:\r\n\r\n```\r\n!_TAG_FILE_FORMAT\t3\t/extended format with meta character escaping/\r\n!_TAG_FILE_SORTED\t1\t/0=unsorted, 1=sorted, 2=foldcase/\r\n!_TAG_PROGRAM_AUTHOR\tUniversal Ctags Team\t//\r\n!_TAG_PROGRAM_NAME\tUniversal Ctags\t/Derived from Exuberant Ctags/\r\n!_TAG_PROGRAM_URL\thttps://ctags.io/\t/official site/\r\n!_TAG_PROGRAM_VERSION\t0.0.0\t/70dd618/\r\n^{:doc\tsrc/ep_cloud/util.cljc\t/^(ns ^{:doc \"Utility functions.\"} ep-cloud.util)$/;\"\tn\r\ndebug?\tsrc/ep_cloud/util.cljc\t/^(defn debug? ^boolean$/;\"\tf\tnamespace:^{:doc\r\n```\r\n\r\nit should produce:\r\n\r\n```\r\n!_TAG_FILE_FORMAT\t3\t/extended format with meta character escaping/\r\n!_TAG_FILE_SORTED\t1\t/0=unsorted, 1=sorted, 2=foldcase/\r\n!_TAG_PROGRAM_AUTHOR\tUniversal Ctags Team\t//\r\n!_TAG_PROGRAM_NAME\tUniversal Ctags\t/Derived from Exuberant Ctags/\r\n!_TAG_PROGRAM_URL\thttps://ctags.io/\t/official site/\r\n!_TAG_PROGRAM_VERSION\t0.0.0\t/70dd618/\r\nep-cloud.util\tsrc/ep_cloud/util.cljc\t/^(ns ^{:doc \"Utility functions.\"} ep-cloud.util)$/;\"\tn\r\ndebug?\tsrc/ep_cloud/util.cljc\t/^(defn debug? ^boolean$/;\"\tf\tnamespace:ep-cloud.util\r\n```\r\n\r\nThe command is `ctags filename.cljs`\r\n\r\nThe metadata `^` is on the namespace AND before `debug?` and it can be before any symbol for that matter, so it should always be skipped. \r\n\r\nAccording to the Clojure specification, the opening char is always `^` and the metadata section finishes at a the first space.\r\n\r\nI also wanted to point to a very nice [test project](https://github.com/kawas44/test-tags-for-clojure/blob/master/gen_tags.sh) for trying things out.\r\n\r\nThanks for your work!"},"comment":{"url":"https://api.github.com/repos/universal-ctags/ctags/issues/comments/382949456","html_url":"https://github.com/universal-ctags/ctags/issues/1657#issuecomment-382949456","issue_url":"https://api.github.com/repos/universal-ctags/ctags/issues/1657","id":382949456,"user":{"login":"masatake","id":77077,"avatar_url":"https://avatars2.githubusercontent.com/u/77077?v=4","gravatar_id":"","url":"https://api.github.com/users/masatake","html_url":"https://github.com/masatake","followers_url":"https://api.github.com/users/masatake/followers","following_url":"https://api.github.com/users/masatake/following{/other_user}","gists_url":"https://api.github.com/users/masatake/gists{/gist_id}","starred_url":"https://api.github.com/users/masatake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masatake/subscriptions","organizations_url":"https://api.github.com/users/masatake/orgs","repos_url":"https://api.github.com/users/masatake/repos","events_url":"https://api.github.com/users/masatake/events{/privacy}","received_events_url":"https://api.github.com/users/masatake/received_events","type":"User","site_admin":false},"created_at":"2018-04-20T02:33:18Z","updated_at":"2018-04-20T02:33:18Z","author_association":"OWNER","body":"I made a pull request for this issue: #1743 .    \r\n"}}
{"actor":{"display_login":"masatake"}}