{"action":"created","issue":{"url":"https://api.github.com/repos/cppit/jucipp/issues/99","labels_url":"https://api.github.com/repos/cppit/jucipp/issues/99/labels{/name}","comments_url":"https://api.github.com/repos/cppit/jucipp/issues/99/comments","events_url":"https://api.github.com/repos/cppit/jucipp/issues/99/events","html_url":"https://github.com/cppit/jucipp/pull/99","id":120529338,"number":99,"title":"New python plugin implementation","user":{"login":"zalox","id":2240543,"avatar_url":"https://avatars.githubusercontent.com/u/2240543?v=3","gravatar_id":"","url":"https://api.github.com/users/zalox","html_url":"https://github.com/zalox","followers_url":"https://api.github.com/users/zalox/followers","following_url":"https://api.github.com/users/zalox/following{/other_user}","gists_url":"https://api.github.com/users/zalox/gists{/gist_id}","starred_url":"https://api.github.com/users/zalox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zalox/subscriptions","organizations_url":"https://api.github.com/users/zalox/orgs","repos_url":"https://api.github.com/users/zalox/repos","events_url":"https://api.github.com/users/zalox/events{/privacy}","received_events_url":"https://api.github.com/users/zalox/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-12-05T05:01:16Z","updated_at":"2015-12-22T22:38:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/cppit/jucipp/pulls/99","html_url":"https://github.com/cppit/jucipp/pull/99","diff_url":"https://github.com/cppit/jucipp/pull/99.diff","patch_url":"https://github.com/cppit/jucipp/pull/99.patch"},"body":"### Features\r\n* Add plugin actions to any menu element (submenus not supported yet)\r\n* Configure your plugins with json (keybindings, menu elements)\r\n* Your plugin doesn't need a keybinding or menu element (vice versa)\r\n* Easy plugin definitions (using lambdas with access to singletons)\r\n* Cleanup of CMakeLists.txt\r\n* argv** is stored by application\r\n* ctrl-p to edit plugins\r\n\r\n### Breaking stuff:\r\n* SourceView now returns nullptr instead of throwing\r\n\r\n### Todo\r\n- [ ] Make plugins exception safe (crashes on syntax error now, working on fix)\r\n- [x] Create wider api\r\n- [ ] Document this in wiki or /docs (discuss this)\r\n- [x] Reload plugins that have been modified\r\n- [ ] Test on osx @eidheim \r\n- [ ] Test on arch\r\n- [ ] Test on debian\r\n- [ ] Test on msys\r\n\r\n- [ ] Ready for merge\r\n\r\n## Plugins\r\n* You can see available plugin definitions in plugin_api.cc\r\n* json menu-configuration\r\n\r\n```js\r\n{\r\n    \"main_menu\": \"_Tools\", // if you write _Project, project menu is appended\r\n    \"sections\": {\r\n  \t\"item\" : {\r\n  \t    \"label\": \"Delete cache\",\r\n  \t    \"action\": \"plugin-file-name.method_name\", // parameters not supported\r\n  \t    \"keybinding\": \"<primary>j\" // directly passed to gtk, also optional\r\n  \t},\r\n  \t\"submenu\" : {\r\n            \"label\": \"Other\",\r\n  \t    \"sections\": { // only items allowed on this level\r\n  \t\t\"item\" : {\r\n  \t\t    \"label\": \"Delete cache\",\r\n  \t\t    \"action\": \"\"\r\n  \t\t}\r\n  \t    }\r\n  \t},\r\n\t\"item\" : {\r\n  \t    \"label\": \"Print Hello\",\r\n  \t    \"action\": \"\"\r\n\t}\r\n    }\r\n}\r\n```\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/cppit/jucipp/issues/comments/166752892","html_url":"https://github.com/cppit/jucipp/pull/99#issuecomment-166752892","issue_url":"https://api.github.com/repos/cppit/jucipp/issues/99","id":166752892,"user":{"login":"eidheim","id":5269318,"avatar_url":"https://avatars.githubusercontent.com/u/5269318?v=3","gravatar_id":"","url":"https://api.github.com/users/eidheim","html_url":"https://github.com/eidheim","followers_url":"https://api.github.com/users/eidheim/followers","following_url":"https://api.github.com/users/eidheim/following{/other_user}","gists_url":"https://api.github.com/users/eidheim/gists{/gist_id}","starred_url":"https://api.github.com/users/eidheim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eidheim/subscriptions","organizations_url":"https://api.github.com/users/eidheim/orgs","repos_url":"https://api.github.com/users/eidheim/repos","events_url":"https://api.github.com/users/eidheim/events{/privacy}","received_events_url":"https://api.github.com/users/eidheim/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T22:38:31Z","updated_at":"2015-12-22T22:38:31Z","body":"I managed to confuse myself when reading https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git I think. If I am not completely off, there is an option to base it on releases as well, but it is fine the way it is of course. \r\n\r\nGood thing you mentioned the MSYS2 package (https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-jucipp-git/PKGBUILD), since it is then missing the tiny-process-library link. I'll try make a PR on that Tomorrow afternoon. "}}