types: update type annotations for LuaLS 3.7
This commit is contained in:
parent
b61bc9b701
commit
e45aeebc2b
9 changed files with 34 additions and 16 deletions
|
|
@ -385,6 +385,7 @@ M.perform_action = function(action, cb)
|
||||||
junction = false,
|
junction = false,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
---@diagnostic disable-next-line: param-type-mismatch
|
||||||
uv.fs_symlink(target, path, flags, cb)
|
uv.fs_symlink(target, path, flags, cb)
|
||||||
else
|
else
|
||||||
fs.touch(path, cb)
|
fs.touch(path, cb)
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ local M = {}
|
||||||
|
|
||||||
local FIELD_META = constants.FIELD_META
|
local FIELD_META = constants.FIELD_META
|
||||||
|
|
||||||
---@class oil.sshUrl
|
---@class (exact) oil.sshUrl
|
||||||
---@field scheme string
|
---@field scheme string
|
||||||
---@field host string
|
---@field host string
|
||||||
---@field user nil|string
|
---@field user nil|string
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,22 @@
|
||||||
local layout = require("oil.layout")
|
local layout = require("oil.layout")
|
||||||
local util = require("oil.util")
|
local util = require("oil.util")
|
||||||
|
|
||||||
---@class oil.sshConnection
|
---@class (exact) oil.sshCommand
|
||||||
|
---@field cmd string|string[]
|
||||||
|
---@field cb fun(err?: string, output?: string[])
|
||||||
|
---@field running? boolean
|
||||||
|
|
||||||
|
---@class (exact) oil.sshConnection
|
||||||
|
---@field new fun(url: oil.sshUrl): oil.sshConnection
|
||||||
|
---@field create_ssh_command fun(url: oil.sshUrl): string[]
|
||||||
---@field meta {user?: string, groups?: string[]}
|
---@field meta {user?: string, groups?: string[]}
|
||||||
|
---@field connection_error nil|string
|
||||||
|
---@field connected boolean
|
||||||
---@field private term_bufnr integer
|
---@field private term_bufnr integer
|
||||||
---@field private jid integer
|
---@field private jid integer
|
||||||
|
---@field private term_winid nil|integer
|
||||||
|
---@field private commands oil.sshCommand[]
|
||||||
|
---@field private _stdout string[]
|
||||||
local SSHConnection = {}
|
local SSHConnection = {}
|
||||||
|
|
||||||
local function output_extend(agg, output)
|
local function output_extend(agg, output)
|
||||||
|
|
@ -114,6 +126,7 @@ function SSHConnection.new(url)
|
||||||
pty = true, -- This is require for interactivity
|
pty = true, -- This is require for interactivity
|
||||||
on_stdout = function(j, output)
|
on_stdout = function(j, output)
|
||||||
pcall(vim.api.nvim_chan_send, self.term_id, table.concat(output, "\r\n"))
|
pcall(vim.api.nvim_chan_send, self.term_id, table.concat(output, "\r\n"))
|
||||||
|
---@diagnostic disable-next-line: invisible
|
||||||
local new_i_start = output_extend(self._stdout, output)
|
local new_i_start = output_extend(self._stdout, output)
|
||||||
self:_handle_output(new_i_start)
|
self:_handle_output(new_i_start)
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,8 @@ local permissions = require("oil.adapters.files.permissions")
|
||||||
local SSHConnection = require("oil.adapters.ssh.connection")
|
local SSHConnection = require("oil.adapters.ssh.connection")
|
||||||
local util = require("oil.util")
|
local util = require("oil.util")
|
||||||
|
|
||||||
---@class oil.sshFs
|
---@class (exact) oil.sshFs
|
||||||
|
---@field new fun(url: oil.sshUrl): oil.sshFs
|
||||||
---@field conn oil.sshConnection
|
---@field conn oil.sshConnection
|
||||||
local SSHFS = {}
|
local SSHFS = {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ local all_columns = {}
|
||||||
|
|
||||||
---@alias oil.ColumnSpec string|table
|
---@alias oil.ColumnSpec string|table
|
||||||
|
|
||||||
---@class oil.ColumnDefinition
|
---@class (exact) oil.ColumnDefinition
|
||||||
---@field render fun(entry: oil.InternalEntry, conf: nil|table): nil|oil.TextChunk
|
---@field render fun(entry: oil.InternalEntry, conf: nil|table): nil|oil.TextChunk
|
||||||
---@field parse fun(line: string, conf: nil|table): nil|string, nil|string
|
---@field parse fun(line: string, conf: nil|table): nil|string, nil|string
|
||||||
---@field meta_fields nil|table<string, fun(parent_url: string, entry: oil.InternalEntry, cb: fun(err: nil|string))>
|
---@field meta_fields nil|table<string, fun(parent_url: string, entry: oil.InternalEntry, cb: fun(err: nil|string))>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
---@class oil.Entry
|
---@class (exact) oil.Entry
|
||||||
---@field name string
|
---@field name string
|
||||||
---@field type oil.EntryType
|
---@field type oil.EntryType
|
||||||
---@field id nil|integer Will be nil if it hasn't been persisted to disk yet
|
---@field id nil|integer Will be nil if it hasn't been persisted to disk yet
|
||||||
|
|
@ -9,7 +9,7 @@ local M = {}
|
||||||
---@alias oil.EntryType "file"|"directory"|"socket"|"link"|"fifo"
|
---@alias oil.EntryType "file"|"directory"|"socket"|"link"|"fifo"
|
||||||
---@alias oil.TextChunk string|string[]
|
---@alias oil.TextChunk string|string[]
|
||||||
|
|
||||||
---@class oil.Adapter
|
---@class (exact) oil.Adapter
|
||||||
---@field name string The unique name of the adapter (this will be set automatically)
|
---@field name string The unique name of the adapter (this will be set automatically)
|
||||||
---@field list fun(path: string, column_defs: string[], cb: fun(err?: string, entries?: oil.InternalEntry[], fetch_more?: fun())) Async function to list a directory.
|
---@field list fun(path: string, column_defs: string[], cb: fun(err?: string, entries?: oil.InternalEntry[], fetch_more?: fun())) Async function to list a directory.
|
||||||
---@field is_modifiable fun(bufnr: integer): boolean Return true if this directory is modifiable (allows for directories with read-only permissions).
|
---@field is_modifiable fun(bufnr: integer): boolean Return true if this directory is modifiable (allows for directories with read-only permissions).
|
||||||
|
|
@ -23,6 +23,7 @@ local M = {}
|
||||||
|
|
||||||
-- TODO remove after https://github.com/folke/neodev.nvim/pull/163 lands
|
-- TODO remove after https://github.com/folke/neodev.nvim/pull/163 lands
|
||||||
---@diagnostic disable: undefined-field
|
---@diagnostic disable: undefined-field
|
||||||
|
---@diagnostic disable: inject-field
|
||||||
|
|
||||||
---Get the entry on a specific line (1-indexed)
|
---Get the entry on a specific line (1-indexed)
|
||||||
---@param bufnr integer
|
---@param bufnr integer
|
||||||
|
|
|
||||||
|
|
@ -17,30 +17,30 @@ local FIELD_TYPE = constants.FIELD_TYPE
|
||||||
|
|
||||||
---@alias oil.Action oil.CreateAction|oil.DeleteAction|oil.MoveAction|oil.CopyAction|oil.ChangeAction
|
---@alias oil.Action oil.CreateAction|oil.DeleteAction|oil.MoveAction|oil.CopyAction|oil.ChangeAction
|
||||||
|
|
||||||
---@class oil.CreateAction
|
---@class (exact) oil.CreateAction
|
||||||
---@field type "create"
|
---@field type "create"
|
||||||
---@field url string
|
---@field url string
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field link nil|string
|
---@field link nil|string
|
||||||
|
|
||||||
---@class oil.DeleteAction
|
---@class (exact) oil.DeleteAction
|
||||||
---@field type "delete"
|
---@field type "delete"
|
||||||
---@field url string
|
---@field url string
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
|
|
||||||
---@class oil.MoveAction
|
---@class (exact) oil.MoveAction
|
||||||
---@field type "move"
|
---@field type "move"
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field src_url string
|
---@field src_url string
|
||||||
---@field dest_url string
|
---@field dest_url string
|
||||||
|
|
||||||
---@class oil.CopyAction
|
---@class (exact) oil.CopyAction
|
||||||
---@field type "copy"
|
---@field type "copy"
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field src_url string
|
---@field src_url string
|
||||||
---@field dest_url string
|
---@field dest_url string
|
||||||
|
|
||||||
---@class oil.ChangeAction
|
---@class (exact) oil.ChangeAction
|
||||||
---@field type "change"
|
---@field type "change"
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field url string
|
---@field url string
|
||||||
|
|
@ -71,6 +71,7 @@ M.create_actions_from_diffs = function(all_diffs)
|
||||||
if diff.id then
|
if diff.id then
|
||||||
local by_id = diff_by_id[diff.id]
|
local by_id = diff_by_id[diff.id]
|
||||||
-- FIXME this is kind of a hack. We shouldn't be setting undocumented fields on the diff
|
-- FIXME this is kind of a hack. We shouldn't be setting undocumented fields on the diff
|
||||||
|
---@diagnostic disable-next-line: inject-field
|
||||||
diff.dest = parent_url .. diff.name
|
diff.dest = parent_url .. diff.name
|
||||||
table.insert(by_id, diff)
|
table.insert(by_id, diff)
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -13,19 +13,19 @@ local FIELD_META = constants.FIELD_META
|
||||||
|
|
||||||
---@alias oil.Diff oil.DiffNew|oil.DiffDelete|oil.DiffChange
|
---@alias oil.Diff oil.DiffNew|oil.DiffDelete|oil.DiffChange
|
||||||
|
|
||||||
---@class oil.DiffNew
|
---@class (exact) oil.DiffNew
|
||||||
---@field type "new"
|
---@field type "new"
|
||||||
---@field name string
|
---@field name string
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field id nil|integer
|
---@field id nil|integer
|
||||||
---@field link nil|string
|
---@field link nil|string
|
||||||
|
|
||||||
---@class oil.DiffDelete
|
---@class (exact) oil.DiffDelete
|
||||||
---@field type "delete"
|
---@field type "delete"
|
||||||
---@field name string
|
---@field name string
|
||||||
---@field id integer
|
---@field id integer
|
||||||
---
|
---
|
||||||
---@class oil.DiffChange
|
---@class (exact) oil.DiffChange
|
||||||
---@field type "change"
|
---@field type "change"
|
||||||
---@field entry_type oil.EntryType
|
---@field entry_type oil.EntryType
|
||||||
---@field name string
|
---@field name string
|
||||||
|
|
@ -56,7 +56,7 @@ local function compare_link_target(meta, parsed_entry)
|
||||||
return meta_name == parsed_name
|
return meta_name == parsed_name
|
||||||
end
|
end
|
||||||
|
|
||||||
---@class oil.ParseResult
|
---@class (exact) oil.ParseResult
|
||||||
---@field data table Parsed entry data
|
---@field data table Parsed entry data
|
||||||
---@field ranges table<string, integer[]> Locations of the various columns
|
---@field ranges table<string, integer[]> Locations of the various columns
|
||||||
---@field entry nil|oil.InternalEntry If the entry already exists
|
---@field entry nil|oil.InternalEntry If the entry already exists
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
local util = require("oil.util")
|
local util = require("oil.util")
|
||||||
|
|
||||||
---@class oil.Trie
|
---@class (exact) oil.Trie
|
||||||
|
---@field new fun(): oil.Trie
|
||||||
---@field private root table
|
---@field private root table
|
||||||
local Trie = {}
|
local Trie = {}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue