{"action":"opened","issue":{"url":"https://api.github.com/repos/neovim/neovim/issues/4077","labels_url":"https://api.github.com/repos/neovim/neovim/issues/4077/labels{/name}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/4077/comments","events_url":"https://api.github.com/repos/neovim/neovim/issues/4077/events","html_url":"https://github.com/neovim/neovim/issues/4077","id":128285066,"number":4077,"title":"I love Lua, but","user":{"login":"lexazloy","id":129033,"avatar_url":"https://avatars.githubusercontent.com/u/129033?v=3","gravatar_id":"","url":"https://api.github.com/users/lexazloy","html_url":"https://github.com/lexazloy","followers_url":"https://api.github.com/users/lexazloy/followers","following_url":"https://api.github.com/users/lexazloy/following{/other_user}","gists_url":"https://api.github.com/users/lexazloy/gists{/gist_id}","starred_url":"https://api.github.com/users/lexazloy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lexazloy/subscriptions","organizations_url":"https://api.github.com/users/lexazloy/orgs","repos_url":"https://api.github.com/users/lexazloy/repos","events_url":"https://api.github.com/users/lexazloy/events{/privacy}","received_events_url":"https://api.github.com/users/lexazloy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-23T02:08:31Z","updated_at":"2016-01-23T02:08:31Z","closed_at":null,"body":"Hi.\r\n\r\nRemarks:\r\n* I know developers already choose Lua.\r\n* I have read [Technical-FAQ](https://github.com/neovim/neovim/wiki/Technical-FAQ).\r\n* I have read issues a-la \"Lua vs X\".\r\n\r\nBut until i have change to speak and change spotlight alternative to developers i will try. :)\r\n\r\nFirst. Lua is great. Lua codebase is small, longlife, \"lick clean\". Its perfect.\r\n\r\nExcept one thing: `end`. Every block end w/ `end`.  And its terrible.\r\n\r\n[MPV](https://github.com/mpv-player/mpv/blob/master/player/lua/osc.lua):\r\n```lua\r\n                            end\r\n                        end\r\n                    end\r\n                end\r\n            end\r\n        end\r\n```\r\n\r\n[Awesome WM](https://github.com/awesomeWM/awesome/blob/master/lib/awful/keygrabber.lua):\r\n```lua\r\n                return false\r\n            end\r\n        else\r\n            return false\r\n        end\r\n    end\r\n    return true\r\nend\r\n```\r\n[ngx_lua_waf](https://github.com/loveshell/ngx_lua_waf/blob/master/waf.lua):\r\n```lua\r\n\t\t\t\tend\r\n\t\t\tend\r\n\t\tend\r\n    end\r\nelse\r\n    return\r\nend\r\n```\r\n\r\nAnd end, end,  end,  end,  end...\r\n\r\nOpps. I mean etc, etc, etc, etc. :)\r\n\r\nIts how NeoVim plugins will be looks like.\r\n\r\nHow about language that everybody know or familiar w/?\r\nLanguage that exists everywhere.\r\nLanguage that support C-like master race syntax?\r\n\r\nThat super-duper language dont exists? Wrong. Cmon ppl, its ECMAScript.\r\n\r\nLook at [Duktape](https://github.com/svaarala/duktape). Its small, embeddable, portable implementation of ECMA-262. At all it has Lua-like API.\r\n\r\n`Technical-FAQ` says:\r\n> Lua is a very small language\r\n\r\nDuktape: check.\r\n\r\n> it provides everything we need to implement a language like Vimscript, which was created to configure and script the editor.\r\n\r\nCheck.\r\n\r\n> Python or Ruby have over Lua are their huge library collections, but that isn't a factor for our main use case which is to remove thousands of lines of C by using Lua as a Vimscript runtime.\r\n\r\nCheck.\r\n\r\n> If you are still not convinced about Lua, you might want to read this post.\r\n\r\nReplace \"Lua\" to \"Duktape\" (ignore DuktapeJIT :)) and check.\r\n\r\nend"}}