Lua: 모듈 존재 여부 확인 후 사용

Sun Mar 31, 2024
1 minute to read

Neovim Lua 스크립트 사용 중 존재하지 않는 모듈을 불러오려고 시도하면 module 'name' not found 라는 경고를 띄운다.

아래 스크립트를 통해 오류 메시지 없이 모듈이 존재할 시 실행할 콜백을 지정할 수 있다.

1local function tryLoadModule(name)
2    local exist, module = pcall(require, name)
3
4    return function(func)
5        if exist then
6            func(module)
7        end
8    end
9end
1tryLoadModule('platform')(
2    function(module)
3        module.setup()
4    end)

참고: https://stackoverflow.com/a/22686090/13031224