Comments (6)
Configurability means that everyone (with less knowledge of the language) is able to configure the appearance easily.
It does not mean that the potential of the plugin.
I believe that anyone can swap the paste and mode component, once they take a glance at my readme file.
You might think that users can configure as they wish in your plugin and regard it as configurability of your plugin.
However, there are lots of Vim users, who do not know how to open a help (for the grammer of statusline
), or who do not know how they write functions in .vimrc.
They may get tired after copying a single dictionary config in .vimrc!
Do not confuse that you can configure so your plugin is configurable.
Moreover, while reading your code, I found some points indicating that it is really not configurable.
- Colors become the same on the both sides and users could not change this behavior. This is far apart from the original one of vim-powerline.
- The read-only component used to be always added to section_c and users could not configure.
- The paste component used to be always added to section_a and users could not configure.
- The right components in unite/vimfiler buffer disappears unintentionally and it's hard to retrieve.
- The left component for inactive windows is restricted to '%f%m' and users cannot configure.
- The way of using pipeline (funcref?) is not intuitive so it's hard to configure.
- When they start to write their own
airline_section_b
or something in .vimrc, they will have to writeg:airline_left_alt_sep
. Joining components with a separator is a very simple task which can be done in the plugin. But the users have to write. - You have difficulty in truncation of an empty component.
Okay, listen.
You might think that power users can configure your plugin as they wish, so your plugin is configurable.
What is important for a plugin is that it has clean APIs, intuitive ways of settings, so that very beginner of the plugin can extensibly write their own configuration.
from lightline.vim.
if a user cannot look up the help of statusline
they have no business installing a plugin.
i do think, however, that it's a bit disingenuous to claim that a plugin is not configurable just because it favors the use of code for customization.
from lightline.vim.
Not just for the use of code.
What do you think of the points I picked up?
from lightline.vim.
in regards to the points you brought up:
colors
all sections have since been configurable such that it doesn't have to be mirrored anymore. in fact, this was done so that your landscape theme would look as intended. if people feel the need to update existing themes to have different colors on the right side they can submit pull requests.
the ### component cannot be configured
the granular positioning that you mentioned is currently not possible because the g:airline_section
variables were never designed to be configurable in that way. also, since nobody raised an issue about it i figured most people were happy already so i didn't see a need to change something that already worked.
The right components in unite/vimfiler buffer disappears unintentionally
i have not seen this personally, but would be happy to fix it if there's an issue raised with repro steps.
The way of using pipeline (funcref?) is not intuitive so it's hard to configure.
i disagree, as by implementing a funcref you can transform the statusline to something entirely different in a couple lines of code. IMO if you are using vim, you are probably a programmer, and the syntax of vimscript is similar enough to C/Java/Python such that you can customize easily by looking at existing examples. the joining of separators is a non-issue if you're using the exposed statusline builder (as you should).
You have difficulty in truncation of an empty component.
the same problem exists in lightline once you turn separators on.
all i'm trying to say is that there's a spectrum of configurability. 0% configurability means you would have to change the source code of the plugin to make it do what you want. 100% configurability would mean there's no plugin at all, and all of it would sit inside your vimrc. i would prefer that you remove your opinionated comment about configurability.
from lightline.vim.
Okay, okay. Your words not mirrored anymore
and designed to be configurable
are supported by my PRs, remember, and imagine that I found it not configurable before sending PRs. I firstly tried to move the readonly component to section_b, resulting into that component doubled. Such an implementation was left alone for two months! It was an enough reason for me to judge that your plugin is not configurable.
from lightline.vim.
thanks for taking the time to explain your reasoning.
from lightline.vim.
Related Issues (20)
- [Feature request] Formal arguments in component_function HOT 5
- Calling lua function from `g:lightline` config HOT 9
- Powerline transparent colorscheme
- bug : Undefined variable: g:lightline HOT 2
- Calling 'vim.diagnostic.goto_next()' inactivates lightline HOT 7
- Update tabline color on mode change HOT 3
- Lineinfo column doesn't match cursor column position HOT 2
- incorrect branch name on Gsplit HOT 4
- `component_function` does not accept vim9 function HOT 1
- Custom colorscheme mode HOT 5
- `laststatus=2` doesn't seem to be working HOT 1
- extra spaces from lightline-problem-12 HOT 1
- All Highlighted/Selected Character Count? HOT 6
- middle active/inactive items missing from statusline HOT 7
- Using `vim.lsp.buf.hover()` breaks lightline. HOT 8
- How to use Catppuccin theme on lightline?
- Returning a statusline item from a component function HOT 2
- theme support for grubbox HOT 2
- How do I ignore certain filetypes? HOT 2
- Changing the color of modified file symbol HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lightline.vim.