Commit Graph

35 Commits

Author SHA1 Message Date
zappolowski 5d133a1ef2
fix component(filename) add separator between filename and icons (#812)
This makes it behave like the default statusline.

fixes #794
2022-09-10 15:39:38 +06:00
zappolowski f10101ab04
feat(filename) Always use the first letter for hidden directories (#833)
Instead of shortening a path segment to just the dot, it is now always
using 2 characters.

E.g.

```
~/.config/nvim/lua/config/lualine.lua
```

is shortened to

```
~/.c/n/l/c/lualine.lua
```

This includes a rewrite of the shortening logic as it cannot be
expressed easily/readable using patterns. The current approach starts at
the beginning and replaces each segment by a shortened version and
keeping track of the overall length (basic book keeping on how many
characters were saved by the replacement).
2022-09-10 15:20:37 +06:00
shadmansaleh c0510ddec8 chore: autogen (vimdocs+formating) 2022-08-09 07:08:23 +00:00
Hongbo Liu 7b4b864af7
[filename] avoid new file status for unnamed (#795) 2022-08-09 13:07:55 +06:00
Hongbo Liu 679e9e71de
[filename] support detect new file status (#785)
* [filename] support detect new file status

* update readme about new file status

* add definition for new file
2022-08-08 11:59:33 +06:00
Jackson Cooper 180f5de5b8
Support tilde as home path in the absolute file paths (#676)
* Support tile as home path in the absolute file paths
2022-05-13 11:28:03 +06:00
Fitrah Muhammad 181b14348f
fix(filename): use columns for shortening if using global statusline (#617) 2022-03-18 20:08:52 +06:00
shadmansaleh a69251d52b fix: % in filename not escaped properly.
fixes #579
2022-02-15 22:54:29 +06:00
shadmansaleh b18b7ee8ac chore: Use paranthesis for function calls. No paran can trip new lua users 2022-01-02 17:38:39 +06:00
Tobias Schmitz 3a17c8f05a
fix: don't hide readonly symbol when modified (#497) 2021-12-18 19:04:09 +06:00
Tobias Schmitz d02658b34d
feat(filename): add unnamed option (#496)
* feat(filename): add unnamed option

* docs(filename): add documentation for symbols
2021-12-18 18:49:41 +06:00
Shadman 08d1340ec9
doc: improve code documentation (#82) 2021-10-12 20:04:47 +06:00
shadmansaleh 61ac665774 refactor: separate the child creation and initialization (#81)
- includes modified class implementation from https://github.com/rxi/classic/blob/master/classic.lua
- now base component class is created from classic.
- change to how component classes are created.
  - Don't overwrite new method to initialize a component.
    Overwrite the init method. new is responsible for
    creating class object and calling init on it.
    Unlike previous new overwrite you don't need to create
    the class (table) and return it. Instead you will recive
    the object as self and do required manipulation on that
    just like any most other oop langs. Also don't need to
    return anything from init. init's job is to initialize.
    remember to call classes init before running your operations
    unfortunately lua isn't full fledged oop lang and I don't
    how to automate this.
- changes how super classes are accesed.
  - rename Component._parent -> Component.super
  - methods on super classes now ran through super class instead
    of objects _parent self._parent as that can lead to recursive inf loop.
  See branch, diff, tabs, buffer classes call to init for example
  on pattern.
- All components updated to reflect current logic
- component loader updated to use new initialization procedure.
- updated tests
- updated BREAKING_CHANGES.md
- plus quite a bit of formatting changes in the components
  - comp.method = function(self, ...) -> function M:method(...)
BREAKING_CHANGE
2021-10-11 16:41:19 +06:00
github-actions[bot] db448f41e6
chore: formated with stylua (#32)
Apply initial stylua format

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-04 00:28:20 +06:00
shadmansaleh c0f53e4acd Refactor: better handle how default options are applied 2021-09-03 18:04:48 +06:00
shadmansaleh d360039969 fix(filename): include window_width to space estimation & expose
shorting_target option

setting shorting target to 0 disables path shorting
closes #8

Co-authored-by: NullVoxPopuli <LPSego3+dev@gmail.com>
2021-08-14 21:24:48 +06:00
shadmansaleh fac96d71cc [Breaking] Refactor: switch to %{%expr%} from %!expr
Huge change to internal mechanics.
- Now %{%expr%} blocks are used for evaluating statusline instead of
  %!expr . Pros for this is statusline is evaluated on current win and
  buf context instead of active win & bufs context.
- Now all components branch & diff(These two are cached) including users
  function components updates on inactive status.
  - now components update status and function components receive an
    argument (is_focused) when called. It indicates whether it's running
    for active or inactive statusline.
- Now lualine no longer aggrasively takes over 'statusline' option.
  instead it sets the global version of statusline option. So it's
  possible to unset it to hide lualine . Or set buffer local version
  of that option to have different statusline then lualine on thay
  buffer
- Switch vim.o to vim.go or vim.opt.
- BugFix autcommands being set everytime an instence of diff or branch
  component is created
- Added new utils functions define_autocmd & is_focused
- Remove utils function lualine_eval
- Removed hacky require cache modification from component.lua
2021-08-08 22:50:17 +06:00
shadmansaleh ef47235330 Add component evaluation for inactive sections 2021-05-21 11:11:25 +06:00
Hubert Pelczarski 3702e682ac
refactor: remove filename warning (#228) 2021-05-18 17:13:13 +02:00
Hubert Pelczarski 292609e3ad
docs: vimscript removal prep (#243) 2021-05-13 23:19:11 +02:00
Shadman 33aaabe672
Fix filename error message (#237) 2021-05-12 15:27:37 +06:00
Hubert Pelczarski 73a6c8fadf
feat: dynamic shortening for filetype (#224)
* feat: dynamic shortening for filetype

* feat: redraw statusline on VimResized

Co-authored-by: NullVoxPopuli <LPSego3+dev@gmail.com>
Co-authored-by: shadmansaleh <shadmansaleh3@gmail.com>
2021-05-11 12:47:09 +02:00
Hubert Pelczarski 82826ef661
refactor: moved loading to new module (#182)
* refactor: moved loading to new module
* refactor: check_single_separator
* refactor: simplified separator fixing
* refactor: tests/ -> lua/tests/
* refactor: moved to nvim_err_writeln for errors

* feat: moved config parsing to config.lua
* feat: get config directly from config module
* feat: added load_all function

* tests: config parsing tests

* added assert to luacheck globals
2021-05-09 23:11:18 +02:00
Tim Bedard e6cc09c2e9
feat(filename): add support for custom filename symbols (modified, readonly) (#185)
* feat(filename): add support for custom filename symbols (modified, readonly)

* update docs
2021-04-20 22:25:25 +06:00
Tim Bedard 96938c5db2
style: Spell fix instence -> instance (#184) 2021-04-20 09:02:21 +06:00
Shadman 1b81b0021f
Refactor: Components now use OOP style (#141) 2021-04-11 10:20:41 +02:00
Jaekyeom Kim 7f1d7ba3fb
fix: displaying relative paths. (#155) 2021-03-31 16:47:38 +02:00
Shadman 78b8260084
Feat: Adding readonly to filestatus (#149) 2021-03-28 03:38:47 +02:00
hoob3rt b31b66fa79 refactor: applied lua-format to all files 2021-03-16 00:37:46 +01:00
hoob3rt 66a6cb3c9d refactor: fix #100 2021-02-20 16:59:28 +01:00
Shadman 395d7cbb69
fix: filename component 2021-02-16 18:35:56 +01:00
Shadman 20d7f33ef9
feat: adding component specific options (#60) 2021-02-15 19:09:12 +01:00
Hubert Pelczarski 55c0f0fe9a docs: added license to all source files 2021-02-13 01:03:57 +01:00
hoob3rt 39dc034335 updated style to be inline with vim.api 2021-01-04 02:14:29 +01:00
hoob3rt fa6aa3c324 initial lualine setup 2020-12-30 15:48:51 +01:00