{"action":"created","issue":{"url":"https://api.github.com/repos/yi-editor/yi/issues/917","repository_url":"https://api.github.com/repos/yi-editor/yi","labels_url":"https://api.github.com/repos/yi-editor/yi/issues/917/labels{/name}","comments_url":"https://api.github.com/repos/yi-editor/yi/issues/917/comments","events_url":"https://api.github.com/repos/yi-editor/yi/issues/917/events","html_url":"https://github.com/yi-editor/yi/issues/917","id":180669276,"number":917,"title":"Can't install yi with pango frontend","user":{"login":"RyanGlScott","id":2364661,"avatar_url":"https://avatars.githubusercontent.com/u/2364661?v=3","gravatar_id":"","url":"https://api.github.com/users/RyanGlScott","html_url":"https://github.com/RyanGlScott","followers_url":"https://api.github.com/users/RyanGlScott/followers","following_url":"https://api.github.com/users/RyanGlScott/following{/other_user}","gists_url":"https://api.github.com/users/RyanGlScott/gists{/gist_id}","starred_url":"https://api.github.com/users/RyanGlScott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RyanGlScott/subscriptions","organizations_url":"https://api.github.com/users/RyanGlScott/orgs","repos_url":"https://api.github.com/users/RyanGlScott/repos","events_url":"https://api.github.com/users/RyanGlScott/events{/privacy}","received_events_url":"https://api.github.com/users/RyanGlScott/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2016-10-03T15:24:04Z","updated_at":"2016-10-04T00:03:22Z","closed_at":null,"body":"I'm trying to install yi with the `pango` frontend enabled. However, when I try following the instructions in the [documentation](http://yi-editor.github.io/pages/installing/), things go awry:\r\n\r\n```\r\n$ cabal install yi -fpango --dry-run\r\nResolving dependencies...\r\nIn order, the following would be installed (use -v for more details):\r\nyi-language-0.13.0.2\r\nyi-core-0.13.0.2\r\nyi-frontend-vty-0.13.0.2\r\nyi-misc-modes-0.13.0.2\r\nyi-keymap-emacs-0.13.0.2\r\nyi-mode-haskell-0.13.0.2\r\nyi-mode-javascript-0.13.0.2\r\nyi-0.13.0.2\r\n```\r\n\r\nNotice that `yi-frontend-pango` never actually gets installed, even if I specify it manually! And sure enough:\r\n\r\n```\r\n$ yi --frontend=pango\r\nyi: Panic: frontend not found\r\n```"},"comment":{"url":"https://api.github.com/repos/yi-editor/yi/issues/comments/251261541","html_url":"https://github.com/yi-editor/yi/issues/917#issuecomment-251261541","issue_url":"https://api.github.com/repos/yi-editor/yi/issues/917","id":251261541,"user":{"login":"RyanGlScott","id":2364661,"avatar_url":"https://avatars.githubusercontent.com/u/2364661?v=3","gravatar_id":"","url":"https://api.github.com/users/RyanGlScott","html_url":"https://github.com/RyanGlScott","followers_url":"https://api.github.com/users/RyanGlScott/followers","following_url":"https://api.github.com/users/RyanGlScott/following{/other_user}","gists_url":"https://api.github.com/users/RyanGlScott/gists{/gist_id}","starred_url":"https://api.github.com/users/RyanGlScott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RyanGlScott/subscriptions","organizations_url":"https://api.github.com/users/RyanGlScott/orgs","repos_url":"https://api.github.com/users/RyanGlScott/repos","events_url":"https://api.github.com/users/RyanGlScott/events{/privacy}","received_events_url":"https://api.github.com/users/RyanGlScott/received_events","type":"User","site_admin":false},"created_at":"2016-10-04T00:03:22Z","updated_at":"2016-10-04T00:03:22Z","body":"I have a hunch what the issue is. For one thing, the `-fpango` flag advertised in [the documentation](http://yi-editor.github.io/pages/installing/) does not actually do anything ever since the `yi-0.13.0.0` release, to the best of my knowledge. ([`-fpango` was a thing as of `yi-0.12.6`, however](http://hackage.haskell.org/package/yi-0.12.6/yi.cabal)).\r\n\r\nThe issue goes deeper than that, however. In `Yi.Core.Default` in `yi-0.12.6`, there [used to be code](http://hackage.haskell.org/package/yi-0.12.6/docs/src/Yi-Config-Default.html) like so:\r\n\r\n```haskell\r\n\r\navailableFrontends :: [(String, UIBoot)]\r\navailableFrontends =\r\n#ifdef FRONTEND_VTY\r\n   (\"vty\", Yi.UI.Vty.start) :\r\n#endif\r\n#ifdef FRONTEND_PANGO\r\n   (\"pango\", Yi.UI.Pango.start) :\r\n#endif\r\n  [(\"batch\", Yi.UI.Batch.start)]\r\n\r\ndefaultConfig :: Config\r\ndefaultConfig =\r\n  publishedActions .~ defaultPublishedActions $\r\n  Config { startFrontEnd    = case availableFrontends of\r\n             [] -> error \"panic: no frontend compiled in! (configure with -fvty or another frontend.)\"\r\n             ((_,f):_) -> f\r\n         , ...\r\n         }\r\n```\r\n\r\nBut in the [current version](https://github.com/yi-editor/yi/blob/8fe18c77d26af9c56d2ffbc1e1a7911ae7321983/yi-core/src/Yi/Config/Default.hs) of `yi-core` (where `Yi.Config.Default` now lives), `availableFrontends` no longer exists, and `defaultConfig`'s definition is quite different:\r\n\r\n```haskell\r\ndefaultConfig :: Config\r\ndefaultConfig =\r\n  publishedActions .~ defaultPublishedActions $\r\n  Config { startFrontEnd    = error \"panic: no frontend compiled in! (configure with -fvty or another frontend.)\"\r\n         , ...\r\n         }\r\n```\r\n\r\nNow, there doesn't seem to be any kind of choice between the frontends at all. And [the `yi` executable's code](https://github.com/yi-editor/yi/blob/8fe18c77d26af9c56d2ffbc1e1a7911ae7321983/yi/src/Main.hs) doesn't give any indication that the `pango` frontend is choosable either:\r\n\r\n```haskell\r\nmain :: IO ()\r\nmain = do\r\n    cfg <- execStateT configure defaultConfig\r\n    yiDriver' True cfg\r\n    where\r\n    configure = runConfigM $ do\r\n        configureVty\r\n        configureEmacs\r\n        configureHaskellMode\r\n        configureJavaScriptMode\r\n        configureMiscModes\r\n```\r\n\r\nAll signs point to the `vty` frontend only. More evidence is in [`yi`'s `package.yaml`](https://github.com/yi-editor/yi/blob/8fe18c77d26af9c56d2ffbc1e1a7911ae7321983/yi/package.yaml):\r\n\r\n```yaml\r\ndependencies:\r\n    - base >= 4.8 && < 5\r\n    - mtl >= 2.2\r\n    - yi-core >= 0.13\r\n    - yi-frontend-vty >= 0.13\r\n    - yi-keymap-emacs >= 0.13\r\n    - yi-mode-haskell >= 0.13\r\n    - yi-mode-javascript >= 0.13\r\n    - yi-misc-modes >= 0.13\r\n```\r\n\r\nAgain, it only mentions `yi-frontend-vty`, not `yi-frontend-pango`.\r\n\r\nIs there some way to bring the `pango` frontend support back to the way it was before `yi-0.13`?"}}
{"actor":{"display_login":"RyanGlScott"}}