Giter Site home page Giter Site logo

justbarnt / bmessages.nvim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ariel-frischer/bmessages.nvim

0.0 0.0 0.0 54 KB

Bmessages.nvim better :messages using an auto-updating buffer.

License: MIT License

Lua 89.63% Makefile 7.03% Vim Script 3.34%

bmessages.nvim's Introduction

๐Ÿ’ฌ Bmessages - Better Neovim Messages

Bmessages.Demo.mp4

โœจ Features

  • Auto-updating Buffers: :Bmessages automatically updates the messages buffer.
  • Customizable Split Types: Choose between horizontal (split) and vertical (vsplit) split types for displaying the messages buffer.
  • Resizable Splits: Easily configure the size of the message buffer split, both for vertical and horizontal layouts.
  • Improved Usability: The buffer behaves like any standard Neovim buffer, allowing for easier navigation and interaction.
  • Autoscroll Option: Automatically scroll to the latest message useful when debugging enabled by default.

๐Ÿ“ฆ Installation

Add bmessages to your Neovim configuration using your preferred package manager.

Click to expand/collapse
{
  "ariel-frischer/bmessages.nvim",
  event = "CmdlineEnter",
  opts = {}
}
Click to expand/collapse
use({
  "ariel-frischer/bmessages.nvim",
    config = function()
      require("bmessages").setup({
        -- config here or empty for defaults
      })
    end,
  })
Click to expand/collapse
Plug 'ariel-frischer/bmessages.nvim'
" ... other plugins...
" after plug#end()
" provide `setup()` configuration options or leave empty for defaults
lua require('bmessages').setup()
Click to expand/collapse
{ "ariel-frischer/bmessages.nvim",
  config = function()
    require("bmessages").setup({
      -- config here or empty for defaults
    })
  end,
};

โš™๏ธ Available Configuration Options

Given options are the default values.

local opts = {
  -- Time in milliseconds between each update of the messages buffer.
  timer_interval = 1000,
  -- Default split type for the messages buffer ('vsplit' or 'split').
  split_type = "vsplit",
  -- Size of the vertical split when opening the messages buffer.
  split_size_vsplit = nil,
  -- Size of the horizontal split when opening the messages buffer.
  split_size_split = nil,
  -- Automatically scroll to the latest message in the buffer.
  autoscroll = true,
  -- Use a timer to auto-update the messages buffer. When this is disabled,
  -- the buffer will not update, but the buffer becomes modifiable.
  use_timer = true,
  -- Name of the messages buffer.
  buffer_name = "bmessages_buffer",
  -- Don't add user commands for `Bmessages`, `Bmessagesvs`, and `Bmessagessp`.
  disable_create_user_commands = false,
}

๐Ÿš€ Usage

:Bmessages

Creates a message buffer with the configured options.

:Bmessagesvs

Creates a message buffer with a vertical split, overriding the split_type to vsplit.

:Bmessagessp

Creates a message buffer with a horizontal split, overriding the split_type to split.

:BmessagesEdit

Creates an editable message buffer with the configured options without auto updating.

Lua API

require("bmessages").toggle({ split_type = "split" })

โŒจ๏ธ Keymaps

No keymaps are set by default, but you can easily set your own keymaps to open the messages buffer.

vim.api.nvim_set_keymap("n", "<leader>bm", ":Bmessages<CR>", { noremap = true, silent = true })

๐Ÿ‘ Acknowledgements

bmessages.nvim's People

Contributors

ariel-frischer avatar oliverchao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.