Skip to content

First class powershell editor integration into Neovim

License

Notifications You must be signed in to change notification settings

opalmay/powershell.nvim

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Powershell.nvim

GitHub Workflow Status Lua

This extension provides rich PowerShell language support for Neovim. Now you can write and debug PowerShell scripts using the excellent IDE-like interface that Neovim provides.

Features

Requirements

Installation

use {
    "TheLeoP/powershell.nvim"
}
{
    "TheLeoP/powershell.nvim",
    opts = {
      bundle_path = 'path/to/your/bundle_path/'
    }
}
Plug 'TheLeoP/powershell.nvim'

Configuration

The only required field for the plugin to work is bundle_path, this has to be the path of where Powershell Editor Services is installed.

For example, if you are using mason with default settings, you would have to do something like the following:

require('powershell').setup({
  bundle_path = vim.fn.stdpath "data" .. "/mason/packages/powershell-editor-services",
})

Default configuration

-- This is the default configuration
require('powershell').setup({
  capabilities = vim.lsp.protocol.make_client_capabilities(),
  bundle_path = "",
  init_options = vim.empty_dict(),
  settings = vim.empty_dict(),
  shell = "pwsh",
  handlers = base_handlers, -- see lua/powershell/handlers.lua
})

Lua API

Toggle Powershell Extension Terminal

require('powershell').toggle_term()

To create a keymap only for powershell files, put the following in your config.

-- this should go in ~/.config/nvim/ftplugin/ps1.lua
vim.keymap.set("n", "<leader>P", function() require("powershell").toggle_term() end)

You could also use a filetype autocmd to create the keymap.

Eval expression on Powershell Extension Terminal

Can be used both in normal (evaluates current line) and visual mode (evaluates visual selection).

require('powershell').eval()

To create a keymap only for powershell files, put the following in your config.

-- this should go in ~/.config/nvim/ftplugin/ps1.lua
vim.keymap.set("n", "<leader>E", function() require("powershell").eval() end)

You could also use a filetype autocmd to create the keymap.

TODO

  • Tests

About

First class powershell editor integration into Neovim

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 99.1%
  • Makefile 0.9%