@@ -626,32 +626,7 @@ Add Triforce components to your lualine configuration:
626626require (' lualine' ).setup ({
627627 sections = {
628628 lualine_x = {
629- -- Add one or more components
630- require (' triforce.lualine' ).level ,
631- require (' triforce.lualine' ).achievements ,
632- ' encoding' ,
633- ' fileformat' ,
634- ' filetype' ,
635- },
636- }
637- })
638- ```
639-
640- ### Quick Setup
641-
642- Use the ` components() ` helper to get all components at once:
643-
644- ``` lua
645- local triforce = require (' triforce.lualine' ).components ()
646-
647- require (' lualine' ).setup ({
648- sections = {
649- lualine_x = {
650- triforce .level ,
651- triforce .achievements ,
652- triforce .streak ,
653- triforce .session_time ,
654- ' encoding' , ' fileformat' , ' filetype'
629+ ' triforce' ,
655630 },
656631 }
657632})
@@ -665,6 +640,7 @@ Each component can be customized independently.
665640
666641Options:
667642
643+ - ` enabled ` (boolean): Activates this component (default: ` true ` )
668644- ` prefix ` (string): Text prefix before level number (default: ` 'Lv.' ` )
669645- ` show ` (table): Toggles for showing different components:
670646 - ` level ` (boolean): Show level number (default: ` true ` )
@@ -676,206 +652,133 @@ Options:
676652 - ` chars ` (table): ` { filled = '█', empty = '░' } ` (default)
677653
678654``` lua
679- -- Default: prefix + level + bar
680- function ()
681- return require (' triforce.lualine' ).level ()
682- end
683- -- Result: Lv.27 ████░░
684-
685- -- Show percentage instead of bar
686- function ()
687- return require (' triforce.lualine' ).level ({
688- show = { bar = false , percent = true },
689- })
690- end
691- -- Result: Lv.27 90%
692-
693- -- Show everything (XP numbers + percentage)
694- function ()
695- return require (' triforce.lualine' ).level ({
696- show = { bar = true , percent = true , xp = true },
697- bar = { length = 8 },
698- })
699- end
700- -- Result: Lv.27 ████████ 90% 450/500
701-
702- -- Customize bar style
703- function ()
704- return require (' triforce.lualine' ).level ({
705- bar = {
706- chars = { filled = ' ●' , empty = ' ○' },
707- length = 10 ,
655+ require (' lualine' ).setup ({
656+ sections = {
657+ lualine_x = {
658+ {
659+ ' triforce' ,
660+ level = {
661+ enabled = true ,
662+ prefix = ' Lv.' ,
663+ show = { level = true , bar = true , percent = false , xp = false },
664+ bar = { length = 6 , chars = { filled = ' █' , empty = ' ░' } },
665+ },
666+ },
708667 },
709- })
710- end
711- -- Result: Lv.27 ●●●●●●●●●○
712-
713- -- Custom prefix or no prefix
714- function ()
715- return require (' triforce.lualine' ).level ({
716- prefix = ' Level ' , -- or set to '' for no prefix
717- })
718- end
719- -- Result: Level 27 ████░░
668+ }
669+ })
720670```
721671
722672#### Achievements Component
723673
724674Options:
725675
676+ - ` enabled ` (boolean): Activates this component (default: ` false ` )
726677- ` icon ` (string): Icon to display (default: ` '' ` - trophy)
727678- ` show_count ` (boolean): Show unlocked/total count (default: ` true ` )
728679
729680``` lua
730- -- Default
731- function ()
732- return require (' triforce.lualine' ).achievements ()
733- end
734- -- Result: 12/18
735-
736- -- Custom icon or no icon
737- function ()
738- return require (' triforce.lualine' ).achievements ({
739- icon = ' ' , -- or '' for no icon
740- })
741- end
742- -- Result: 12/18
681+ require (' lualine' ).setup ({
682+ sections = {
683+ lualine_x = {
684+ {
685+ ' triforce' ,
686+ achievements = { enabled = false , icon = ' ' , show_count = true },
687+ },
688+ },
689+ }
690+ })
743691```
744692
745693#### Streak Component
746694
747695Options:
748696
697+ - ` enabled ` (boolean): Activates this component (default: ` false ` )
749698- ` icon ` (string): Icon to display (default: ` '' ` - flame)
750699- ` show_days ` (boolean): Show day count (default: ` true ` )
751700
752701The streak component returns an empty string when streak is 0, so it won't clutter your statusline.
753702
754703``` lua
755- -- Default
756- function ()
757- return require (' triforce.lualine' ).streak ()
758- end
759- -- Result: 5
760-
761- -- Different icon
762- function ()
763- return require (' triforce.lualine' ).streak ({ icon = ' ' })
764- end
765- -- Result: 5
704+ require (' lualine' ).setup ({
705+ sections = {
706+ lualine_x = {
707+ {
708+ ' triforce' ,
709+ streak = { enabled = false , icon = ' ' , show_days = true },
710+ },
711+ },
712+ }
713+ })
766714```
767715
768716#### Session Time Component
769717
770718Options:
771719
720+ - ` enabled ` (boolean): Activates this component (default: ` false ` )
772721- ` icon ` (string): Icon to display (default: ` '' ` - clock)
773722- ` show_duration ` (boolean): Show time duration (default: ` true ` )
774723- ` format ` (string): ` 'short' ` (2h 34m) or ` 'long' ` (2:34:12) (default: ` 'short' ` )
775724
776- ``` lua
777- -- Default (short format)
778- function ()
779- return require (' triforce.lualine' ).session_time ()
780- end
781- -- Result: 2h 34m
782-
783- -- Long format (2:34:12 instead of 2h 34m)
784- function ()
785- return require (' triforce.lualine' ).session_time ({
786- format = ' long' ,
787- })
788- end
789- -- Result: 2:34:12
790-
791- -- Different icon
792- function ()
793- return require (' triforce.lualine' ).session_time ({
794- icon = ' ' , -- watch icon
795- })
796- end
797- -- Result: 2h 34m
798- ```
799-
800- ### Global Component Configuration
801-
802- Set defaults for all components:
803-
804- ``` lua
805- -- Configure defaults
806- require (' triforce.lualine' ).setup ({
807- level = {
808- prefix = ' Level ' ,
809- bar = { length = 8 },
810- show = { percent = true },
811- },
812- achievements = { icon = ' ' },
813- streak = { icon = ' ' },
814- session_time = { icon = ' ' , format = ' long' },
815- })
816-
817- -- Then use components normally
818- local triforce = require (' triforce.lualine' ).components ()
819- ```
820-
821- ### Example Configurations
822-
823- #### Minimalist Setup
824-
825725``` lua
826726require (' lualine' ).setup ({
827727 sections = {
828728 lualine_x = {
829- function ()
830- return require (' triforce.lualine' ).level ()
831- end ,
729+ {
730+ ' triforce' ,
731+ session_time = { enabled = false , icon = ' ' , show_duration = true , format = ' short' },
732+ },
832733 },
833734 }
834735})
835- -- Result: Lv.27 ████░░
836736```
837737
838- #### Full Stats Dashboard
738+ ### Global Component Configuration
839739
840- ``` lua
841- local triforce = require (' triforce.lualine' ).components ()
740+ Set defaults for all components:
842741
742+ ``` lua
843743require (' lualine' ).setup ({
844744 sections = {
845- lualine_c = { ' filename' },
846745 lualine_x = {
847- triforce .session_time ,
848- triforce .streak ,
849- triforce .achievements ,
850- triforce .level ,
851- ' encoding' ,
852- ' filetype' ,
746+ {
747+ ' triforce' ,
748+ level = {
749+ enabled = true ,
750+ prefix = ' Lv.' ,
751+ show = {
752+ level = true ,
753+ bar = true ,
754+ percent = false ,
755+ xp = false ,
756+ },
757+ bar = {
758+ length = 6 ,
759+ chars = { filled = ' █' , empty = ' ░' },
760+ },
761+ },
762+ achievements = {
763+ enabled = false ,
764+ icon = ' ' ,
765+ show_count = true ,
766+ },
767+ streak = {
768+ enabled = false ,
769+ icon = ' ' ,
770+ show_days = true ,
771+ },
772+ session_time = {
773+ enabled = false ,
774+ icon = ' ' ,
775+ show_duration = true ,
776+ format = ' short' ,
777+ },
778+ },
853779 },
854780 }
855781})
856- -- Result: 2h 34m 5 12/18 Lv.27 ████░░ ...
857- ```
858-
859- #### Custom Style
860-
861- ``` lua
862- require (' triforce.lualine' ).setup ({
863- level = {
864- prefix = ' ' , -- No prefix, just number
865- bar = { chars = { filled = ' ●' , empty = ' ○' }, length = 10 },
866- show = { percent = true },
867- },
868- achievements = {
869- icon = ' ' , -- medal icon
870- },
871- streak = {
872- icon = ' ' , -- bolt icon
873- },
874- })
875-
876- local triforce = require (' triforce.lualine' ).components ()
877- -- Now all components use your custom config
878- -- Result: 2h 34m 5 12/18 27 ●●●●●●●●●○ 90%
879782```
880783
881784---
0 commit comments