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 1212--- @field json PlenaryJson
1313--- @field log PlenaryLog
1414--- @field nvim_meta PlenaryNvimMeta
15+ --- @field operators PlenaryOperators
1516--- @field path PlenaryPath
1617--- @field scandir PlenaryScandir
1718--- @field strings PlenaryStrings
Original file line number Diff line number Diff line change 44--- Lua has no currying so we have to make a function for each operator.
55--- @brief ]]
66
7- return {
7+ --- @class PlenaryOperators
8+ local M = {
89 ---- ------------------------------------------------------------------------
910 -- Comparison operators
1011 ---- ------------------------------------------------------------------------
@@ -30,15 +31,27 @@ return {
3031 ---- ------------------------------------------------------------------------
3132 -- Arithmetic operators
3233 ---- ------------------------------------------------------------------------
34+ --- @param a number
35+ --- @param b number
36+ --- @return number
3337 add = function (a , b )
3438 return a + b
3539 end ,
40+ --- @param a number
41+ --- @param b number
42+ --- @return number
3643 div = function (a , b )
3744 return a / b
3845 end ,
46+ --- @param a number
47+ --- @param b number
48+ --- @return integer
3949 floordiv = function (a , b )
4050 return math.floor (a / b )
4151 end ,
52+ --- @param a number
53+ --- @param b number
54+ --- @return integer
4255 intdiv = function (a , b )
4356 local q = a / b
4457 if a >= 0 then
@@ -47,54 +60,92 @@ return {
4760 return math.ceil (q )
4861 end
4962 end ,
63+ --- @param a number
64+ --- @param b number
65+ --- @return number
5066 mod = function (a , b )
5167 return a % b
5268 end ,
69+ --- @param a number
70+ --- @param b number
71+ --- @return number
5372 mul = function (a , b )
5473 return a * b
5574 end ,
75+ --- @param a number
76+ --- @return number
5677 neq = function (a )
5778 return - a
5879 end ,
80+ --- @param a number
81+ --- @return number
5982 unm = function (a )
6083 return - a
6184 end , -- an alias
85+ --- @param a number
86+ --- @param b number
87+ --- @return number
6288 pow = function (a , b )
6389 return a ^ b
6490 end ,
91+ --- @param a number
92+ --- @param b number
93+ --- @return number
6594 sub = function (a , b )
6695 return a - b
6796 end ,
97+ --- @param a number
98+ --- @param b number
99+ --- @return number
68100 truediv = function (a , b )
69101 return a / b
70102 end ,
71103
72104 ---- ------------------------------------------------------------------------
73105 -- String operators
74106 ---- ------------------------------------------------------------------------
107+ --- @param a string
108+ --- @param b string
109+ --- @return string
75110 concat = function (a , b )
76111 return a .. b
77112 end ,
113+ --- @param a string
114+ --- @return integer
78115 len = function (a )
79116 return # a
80117 end ,
118+ --- @param a string
119+ --- @return integer
81120 length = function (a )
82121 return # a
83122 end , -- an alias
84123
85124 ---- ------------------------------------------------------------------------
86125 -- Logical operators
87126 ---- ------------------------------------------------------------------------
127+ --- @param a boolean
128+ --- @param b boolean
129+ --- @return boolean
88130 land = function (a , b )
89131 return a and b
90132 end ,
133+ --- @param a boolean
134+ --- @param b boolean
135+ --- @return boolean
91136 lor = function (a , b )
92137 return a or b
93138 end ,
139+ --- @param a boolean
140+ --- @return boolean
94141 lnot = function (a )
95142 return not a
96143 end ,
144+ --- @param a boolean
145+ --- @return boolean
97146 truth = function (a )
98147 return not not a
99148 end ,
100149}
150+
151+ return M
You can’t perform that action at this time.
0 commit comments