forked from luvit/lit
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.lua
More file actions
62 lines (54 loc) · 1.78 KB
/
main.lua
File metadata and controls
62 lines (54 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--[[
Copyright 2014-2015 The Luvit Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS-IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
--]]
local uv = require('uv')
require('luvi').bundle.register("luvit-require", "deps/require.lua")
local bundle = require('luvi').bundle
local require = require('luvit-require')("bundle:main.lua")
local aliases = {
["-v"] = "version",
["-h"] = "help",
}
_G.p = require('pretty-print').prettyPrint
local version = require('./package').version
coroutine.wrap(function ()
local log = require('log').log
local command = args[1] or "help"
if command:sub(1, 2) == "--" then
command = command:sub(3)
end
command = aliases[command] or command
local success, err = xpcall(function ()
log("lit version", version)
log("luvi version", require('luvi').version)
if command == "version" then os.exit(0) end
local path = "./commands/" .. command .. ".lua"
if bundle.stat(path:sub(3)) then
log("command", table.concat(args, " "), "highlight")
else
log("invalid command", command, "failure")
command = "help"
path = "./commands/" .. command .. ".lua"
end
require(path)
end, debug.traceback)
if success then
log("done", "success", "success")
print()
os.exit(0)
else
log("fail", err, "failure")
print()
os.exit(-1)
end
end)()
uv.run()