commit 2265ed4: [Minor] Add a simple function to strip Lua comments

Vsevolod Stakhov vsevolod at rspamd.com
Thu Mar 23 18:28:03 UTC 2023


Author: Vsevolod Stakhov
Date: 2023-03-23 18:25:06 +0000
URL: https://github.com/rspamd/rspamd/commit/2265ed4109cb4cee9ee1d5df0e9cf629923ce1cd (HEAD -> master)

[Minor] Add a simple function to strip Lua comments

---
 lualib/lua_util.lua | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/lualib/lua_util.lua b/lualib/lua_util.lua
index b4707c4bd..ea193a975 100644
--- a/lualib/lua_util.lua
+++ b/lualib/lua_util.lua
@@ -1532,6 +1532,30 @@ end
 
 exports.dns_timeout_augmentation = dns_timeout_augmentation
 
+---[[[
+--- @function lua_util.strip_lua_comments(lua_code)
+-- Strips single-line and multi-line comments from a given Lua code string and removes
+-- any extra spaces or newlines.
+--
+-- @param lua_code The Lua code string to strip comments from.
+-- @return The resulting Lua code string with comments and extra spaces removed.
+--
+---]]]
+local function strip_lua_comments(lua_code)
+  -- Remove single-line comments
+  lua_code = lua_code:gsub("%-%-[^\r\n]*", "")
+
+  -- Remove multi-line comments
+  lua_code = lua_code:gsub("%-%-%[%[.-%]%]", "")
+
+  -- Remove extra spaces and newlines
+  lua_code = lua_code:gsub("%s+", " ")
+
+  return lua_code
+end
+
+exports.strip_lua_comments = strip_lua_comments
+
 -- Defines symbols priorities for common usage in prefilters/postfilters
 exports.symbols_priorities = {
   top = 10, -- Symbols must be executed first (or last), such as settings


More information about the Commits mailing list