joshuadanpeterson / typewriter.nvim

A Neovim plugin that emulates a typewriter, keeping the cursor centered on the screen for a focused writing experience.
MIT License
23 stars 0 forks source link

Merge dev branch into main #5

Closed joshuadanpeterson closed 2 months ago

joshuadanpeterson commented 2 months ago

Overview

This pull request merges the dev branch into the main branch, incorporating several documentation updates, code refactorings, and improvements to the plugin's functionality and integration with popular Neovim plugins.

Latest Changes

  1. Documentation Updates:

    • Commit f342e81a42e1fb1bfcfbb1a638f6e3b16359aa45:

      • Updated CHANGELOG.md for v0.4.15.
      • Removed duplicate entries.
    • Commit 915ebd8a57fccf68a175eaed8a516fcc6d55f4da:

      • Improved and expanded plugin documentation.
      • Added comprehensive module and function descriptions.
      • Included usage examples for all public functions.
      • Organized documentation with clear section headers.
      • Added @param, @return, and @type annotations for better clarity.
      • Provided detailed explanations for configuration options.
      • Added examples for customizing center_block_config.
      • Added overview of plugin features in main module description.
      • Improved readability with consistent formatting.
    • Commit 4b15a779195ae6a0e38f1b83b57d2b8f5261de1d:

      • Enhanced plugin documentation and comments.
      • Improved module and function descriptions across all plugin files.
      • Added detailed usage examples for key functions.
      • Implemented consistent commenting style throughout the codebase.
      • Expanded configuration options documentation in config.lua.
      • Added @usage, @param, and @return tags for better function documentation.
      • Enhanced readability of center_block_config.lua with detailed explanations.
      • Included @module, @file, and @tag annotations for better organization.
      • Prepared groundwork for potential Lualine integration with is_typewriter_active.
  2. Code Refactoring:

    • Commit 8cf32b7f2c18c4e92ffc99c1676de2350dd5c12b:
      • Lazy-loaded dependencies and simplified setup.
      • Removed top-level imports for config and autocommands modules.
      • Lazy-loaded config and autocommands within the setup function.
      • Removed unused comments and debug print statements.
      • Maintained existing functionality and module structure.
  3. CI Updates:

How to Use

  1. Installation:

    • Add the plugin to your Neovim configuration using your preferred plugin manager.
    • Example using Packer:
      use {
       'joshuadanpeterson/typewriter.nvim',
       requires = 'nvim-treesitter/nvim-treesitter',
       config = function()
           require('typewriter').setup()
       end
      }
  2. Commands:

    • :TWEnable, :TWDisable, :TWToggle, :TWCenter, :TWTop, :TWBottom.
  3. Configuration:

    • Customize the plugin by overriding the default settings in your setup function.

Acknowledgments

By merging this pull request, I hope to provide a more robust and feature-rich typewriter experience in Neovim.