File tree Expand file tree Collapse file tree 2 files changed +53
-1
lines changed Expand file tree Collapse file tree 2 files changed +53
-1
lines changed Original file line number Diff line number Diff line change 12
12
--- @field json PlenaryJson
13
13
--- @field log PlenaryLog
14
14
--- @field nvim_meta PlenaryNvimMeta
15
+ --- @field operators PlenaryOperators
15
16
--- @field path PlenaryPath
16
17
--- @field scandir PlenaryScandir
17
18
--- @field strings PlenaryStrings
Original file line number Diff line number Diff line change 4
4
--- Lua has no currying so we have to make a function for each operator.
5
5
--- @brief ]]
6
6
7
- return {
7
+ --- @class PlenaryOperators
8
+ local M = {
8
9
---- ------------------------------------------------------------------------
9
10
-- Comparison operators
10
11
---- ------------------------------------------------------------------------
@@ -30,15 +31,27 @@ return {
30
31
---- ------------------------------------------------------------------------
31
32
-- Arithmetic operators
32
33
---- ------------------------------------------------------------------------
34
+ --- @param a number
35
+ --- @param b number
36
+ --- @return number
33
37
add = function (a , b )
34
38
return a + b
35
39
end ,
40
+ --- @param a number
41
+ --- @param b number
42
+ --- @return number
36
43
div = function (a , b )
37
44
return a / b
38
45
end ,
46
+ --- @param a number
47
+ --- @param b number
48
+ --- @return integer
39
49
floordiv = function (a , b )
40
50
return math.floor (a / b )
41
51
end ,
52
+ --- @param a number
53
+ --- @param b number
54
+ --- @return integer
42
55
intdiv = function (a , b )
43
56
local q = a / b
44
57
if a >= 0 then
@@ -47,54 +60,92 @@ return {
47
60
return math.ceil (q )
48
61
end
49
62
end ,
63
+ --- @param a number
64
+ --- @param b number
65
+ --- @return number
50
66
mod = function (a , b )
51
67
return a % b
52
68
end ,
69
+ --- @param a number
70
+ --- @param b number
71
+ --- @return number
53
72
mul = function (a , b )
54
73
return a * b
55
74
end ,
75
+ --- @param a number
76
+ --- @return number
56
77
neq = function (a )
57
78
return - a
58
79
end ,
80
+ --- @param a number
81
+ --- @return number
59
82
unm = function (a )
60
83
return - a
61
84
end , -- an alias
85
+ --- @param a number
86
+ --- @param b number
87
+ --- @return number
62
88
pow = function (a , b )
63
89
return a ^ b
64
90
end ,
91
+ --- @param a number
92
+ --- @param b number
93
+ --- @return number
65
94
sub = function (a , b )
66
95
return a - b
67
96
end ,
97
+ --- @param a number
98
+ --- @param b number
99
+ --- @return number
68
100
truediv = function (a , b )
69
101
return a / b
70
102
end ,
71
103
72
104
---- ------------------------------------------------------------------------
73
105
-- String operators
74
106
---- ------------------------------------------------------------------------
107
+ --- @param a string
108
+ --- @param b string
109
+ --- @return string
75
110
concat = function (a , b )
76
111
return a .. b
77
112
end ,
113
+ --- @param a string
114
+ --- @return integer
78
115
len = function (a )
79
116
return # a
80
117
end ,
118
+ --- @param a string
119
+ --- @return integer
81
120
length = function (a )
82
121
return # a
83
122
end , -- an alias
84
123
85
124
---- ------------------------------------------------------------------------
86
125
-- Logical operators
87
126
---- ------------------------------------------------------------------------
127
+ --- @param a boolean
128
+ --- @param b boolean
129
+ --- @return boolean
88
130
land = function (a , b )
89
131
return a and b
90
132
end ,
133
+ --- @param a boolean
134
+ --- @param b boolean
135
+ --- @return boolean
91
136
lor = function (a , b )
92
137
return a or b
93
138
end ,
139
+ --- @param a boolean
140
+ --- @return boolean
94
141
lnot = function (a )
95
142
return not a
96
143
end ,
144
+ --- @param a boolean
145
+ --- @return boolean
97
146
truth = function (a )
98
147
return not not a
99
148
end ,
100
149
}
150
+
151
+ return M
You can’t perform that action at this time.
0 commit comments