VS Code Extensions
Lightroom Classic SDK Types

Lightroom Classic SDK Types

by murayama-photo

LuaLS type stubs for Adobe Lightroom Classic SDK — autocompletion and type checking for all 59 SDK modules

Downloads

39

Rating

— (0)

Version

1.0.0

Last updated

Apr 12, 2026

LuaLS type stubs for the Lightroom Classic SDK

Provides ---@meta annotations for all 59 public modules of the Adobe Lightroom Classic SDK, enabling type checking and autocompletion in editors powered by LuaLS (lua-language-server).


Features

  • Full coverage of Lightroom Classic SDK (LrSdkVersion 6.0 – 10.0)
  • 59 modules: LrApplication, LrCatalog, LrPhoto, LrExportSession, and more
  • Lua 5.1 compatible (Adobe's embedded Lua runtime)
  • Works with any LuaLS-powered editor (VS Code, Cursor, Windsurf, etc.)

Installation

Search for "lightroom-sdk-types" in the Extensions panel and install.

LuaLS will automatically recognize the stubs — no configuration needed.

Option B — Manual (.luarc.json)

  1. Clone or download this repository
  2. Add to your plugin's .luarc.json:
{
  "workspace.library": [
    "/path/to/lightroom-sdk-types/types"
  ]
}

Usage

Once installed, LuaLS provides full type information for all Lightroom SDK APIs:

local LrApplication = import 'LrApplication'
local LrPhoto       = import 'LrPhoto'

-- Autocompletion and type checking works for all SDK calls
local catalog = LrApplication.activeCatalog()
local photos  = catalog:getAllPhotos()

for _, photo in ipairs(photos) do
  local path = photo:getRawMetadata('path')  -- string
end

Coverage

Module Description
LrApplication Application-level functions
LrCatalog Catalog access and write operations
LrPhoto Photo metadata and operations
LrExportSession Export session management
LrExportRendition Per-photo rendition during export
LrFilterContext Export filter provider context
LrDialogs Modal dialogs
LrView UI view construction
LrPathUtils File path utilities
LrTasks Async task management
LrLogger Logging utilities
... 59 modules total

Full list: types/


For AI-assisted development

The types/ stubs are compact (10–20× smaller than the original HTML docs) and can be passed directly to AI coding agents as API context:

# Pass only the stubs you need — saves context budget
types/LrPhoto.lua          (~50 lines)  vs  LrPhoto.html (~800 lines)
types/LrExportSession.lua  (~60 lines)  vs  LrExportSession.html (~1000 lines)

SDK Version

Covers Lightroom Classic SDK 6.0 – 10.0.

Generated from the official Adobe Lightroom Classic SDK HTML documentation.


License

MIT


Disclaimer

This project is an independent, community-maintained tool and is not affiliated with or endorsed by Adobe Inc.

Type annotations are derived from the public Lightroom Classic SDK API signatures. The stubs contain no verbatim text from Adobe's documentation — only function names, parameter names, and types, which are functional elements of the public API.

Adobe, Lightroom, and related marks are trademarks of Adobe Inc.

Related extensions