{"action":"created","issue":{"url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/81","labels_url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/81/comments","events_url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/81/events","html_url":"https://github.com/haskell/haskell-ide-engine/issues/81","id":117429596,"number":81,"title":"ghci-ng plugin","user":{"login":"alanz","id":409607,"avatar_url":"https://avatars.githubusercontent.com/u/409607?v=3","gravatar_id":"","url":"https://api.github.com/users/alanz","html_url":"https://github.com/alanz","followers_url":"https://api.github.com/users/alanz/followers","following_url":"https://api.github.com/users/alanz/following{/other_user}","gists_url":"https://api.github.com/users/alanz/gists{/gist_id}","starred_url":"https://api.github.com/users/alanz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanz/subscriptions","organizations_url":"https://api.github.com/users/alanz/orgs","repos_url":"https://api.github.com/users/alanz/repos","events_url":"https://api.github.com/users/alanz/events{/privacy}","received_events_url":"https://api.github.com/users/alanz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"alanz","id":409607,"avatar_url":"https://avatars.githubusercontent.com/u/409607?v=3","gravatar_id":"","url":"https://api.github.com/users/alanz","html_url":"https://github.com/alanz","followers_url":"https://api.github.com/users/alanz/followers","following_url":"https://api.github.com/users/alanz/following{/other_user}","gists_url":"https://api.github.com/users/alanz/gists{/gist_id}","starred_url":"https://api.github.com/users/alanz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanz/subscriptions","organizations_url":"https://api.github.com/users/alanz/orgs","repos_url":"https://api.github.com/users/alanz/repos","events_url":"https://api.github.com/users/alanz/events{/privacy}","received_events_url":"https://api.github.com/users/alanz/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/haskell/haskell-ide-engine/milestones/1","html_url":"https://github.com/haskell/haskell-ide-engine/milestones/P1:%20Must","labels_url":"https://api.github.com/repos/haskell/haskell-ide-engine/milestones/1/labels","id":1397325,"number":1,"title":"P1: Must","description":"","creator":{"login":"rvion","id":2150990,"avatar_url":"https://avatars.githubusercontent.com/u/2150990?v=3","gravatar_id":"","url":"https://api.github.com/users/rvion","html_url":"https://github.com/rvion","followers_url":"https://api.github.com/users/rvion/followers","following_url":"https://api.github.com/users/rvion/following{/other_user}","gists_url":"https://api.github.com/users/rvion/gists{/gist_id}","starred_url":"https://api.github.com/users/rvion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rvion/subscriptions","organizations_url":"https://api.github.com/users/rvion/orgs","repos_url":"https://api.github.com/users/rvion/repos","events_url":"https://api.github.com/users/rvion/events{/privacy}","received_events_url":"https://api.github.com/users/rvion/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":5,"state":"open","created_at":"2015-11-06T09:17:08Z","updated_at":"2015-11-17T19:25:02Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-11-17T19:25:02Z","updated_at":"2015-11-17T21:08:19Z","closed_at":null,"body":"I am currently working on a ghci-ng plugin.\r\n\r\nThe work is happening in the following places\r\n\r\n* https://github.com/alanz/haskeline\r\n* https://github.com/alanz/ghci-ng\r\n\r\nThe initial intent is to\r\n\r\n- [ ] expose ghci-ng as a library\r\n- [ ] modify haskeline to support a `Behaviour` that writes to/from a `Chan` instead of a file Handle\r\n- [ ] make a set of commands in a plugin to interact with these `Chan` s.\r\n\r\nFirst pass will be to just wrap stdio/stdin to ghci as a proof of concept, allowing an embedded ghci session in a supporting IDE\r\n\r\nSecond pass will be to extend the data type in the `Chan` for the various commands supported in ghci, so that they can be used as first-class commands in the IDE.\r\n\r\nThe ghci threading model to support this is unknown right now, but it is a proof of concept.\r\n\r\nFeedback welcome. \r\n"},"comment":{"url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/comments/157507746","html_url":"https://github.com/haskell/haskell-ide-engine/issues/81#issuecomment-157507746","issue_url":"https://api.github.com/repos/haskell/haskell-ide-engine/issues/81","id":157507746,"user":{"login":"alanz","id":409607,"avatar_url":"https://avatars.githubusercontent.com/u/409607?v=3","gravatar_id":"","url":"https://api.github.com/users/alanz","html_url":"https://github.com/alanz","followers_url":"https://api.github.com/users/alanz/followers","following_url":"https://api.github.com/users/alanz/following{/other_user}","gists_url":"https://api.github.com/users/alanz/gists{/gist_id}","starred_url":"https://api.github.com/users/alanz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanz/subscriptions","organizations_url":"https://api.github.com/users/alanz/orgs","repos_url":"https://api.github.com/users/alanz/repos","events_url":"https://api.github.com/users/alanz/events{/privacy}","received_events_url":"https://api.github.com/users/alanz/received_events","type":"User","site_admin":false},"created_at":"2015-11-17T21:08:19Z","updated_at":"2015-11-17T21:08:19Z","body":"WIP: https://github.com/alanz/ghci-ng/commit/3b48b1734bfe82befbebe15003a86cf39280d671"}}