Module hilbish.completion

Sidebar

  • Vim Mode
  • Completions
  • Lunacolors
  • Frequently Asked Questions
  • Getting Started
  • Introduction
  • Module hilbish
  • Module fs
  • Module snail
  • Module terminal
  • Module commander
  • API
  • Module bait
  • Module hilbish.module
  • Module hilbish.abbr
  • Module hilbish.userDir
  • Module hilbish.os
  • Module hilbish.history
  • Module hilbish.completion
  • Module hilbish.messages
  • Module hilbish.aliases
  • Module hilbish.runner
  • Module hilbish.timers
  • Module hilbish
  • Module hilbish.jobs
  • Module hilbish.editor
  • Actions
  • Module doc
  • Nature
  • Module dirs
  • Hilbish
  • Command
  • Signals
  • Signal
  • Notification
  • Runner Mode
  • Options
  • Features

Module hilbish.completion

Introduction The completions interface deals with tab completions.

Functions ||| |----|----| |<a href="#completion.bins">bins(query, ctx, fields) -> entries (table), prefix (string)</a>|Return binaries/executables based on the provided parameters.| |<a href="#completion.call">call(name, query, ctx, fields) -> completionGroups (table), prefix (string)</a>|Calls a completer function. This is mainly used to call a command completer, which will have a name| |<a href="#completion.files">files(query, ctx, fields) -> entries (table), prefix (string)</a>|Returns file matches based on the provided parameters.| |<a href="#completion.handler">handler(line, pos)</a>|This function contains the general completion handler for Hilbish. This function handles|

<hr> <div id='completion.bins'> <h4 class='heading'> hilbish.completion.bins(query, ctx, fields) -> entries (table), prefix (string) <a href="#completion.bins" class='heading-link'> <i class="fas fa-paperclip"></i> </a> </h4>

Return binaries/executables based on the provided parameters. This function is meant to be used as a helper in a command completion handler.

Parameters string **query**

string **ctx**

table **fields**

Example lua -- an extremely simple completer for sudo. hilbish.complete('command.sudo', function(query, ctx, fields) table.remove(fields, 1) if #fields[1] then -- return commands because sudo runs a command as root..!

local entries, pfx = hilbish.completion.bins(query, ctx, fields) return { type = 'grid', items = entries }, pfx end

-- ... else suggest files or anything else .. end) </div>

<hr> <div id='completion.call'> <h4 class='heading'> hilbish.completion.call(name, query, ctx, fields) -> completionGroups (table), prefix (string) <a href="#completion.call" class='heading-link'> <i class="fas fa-paperclip"></i> </a> </h4>

Calls a completer function. This is mainly used to call a command completer, which will have a name in the form of command.name, example: command.git. You can check the Completions doc or doc completions for info on the completionGroups return value.

Parameters string **name**

string **query**

string **ctx**

table **fields**

</div>

<hr> <div id='completion.files'> <h4 class='heading'> hilbish.completion.files(query, ctx, fields) -> entries (table), prefix (string) <a href="#completion.files" class='heading-link'> <i class="fas fa-paperclip"></i> </a> </h4>

Returns file matches based on the provided parameters. This function is meant to be used as a helper in a command completion handler.

Parameters string **query**

string **ctx**

table **fields**

</div>

<hr> <div id='completion.handler'> <h4 class='heading'> hilbish.completion.handler(line, pos) <a href="#completion.handler" class='heading-link'> <i class="fas fa-paperclip"></i> </a> </h4>

This function contains the general completion handler for Hilbish. This function handles completion of everything, which includes calling other command handlers, binaries, and files. This function can be overriden to supply a custom handler. Note that alias resolution is required to be done in this function.

Parameters string **line** The current Hilbish command line

number **pos** Numerical position of the cursor

Example lua -- stripped down version of the default implementation function hilbish.completion.handler(line, pos) local query = fields[#fields]

if #fields == 1 then -- call bins handler here else -- call command completer or files completer here end end </div>