Socket
Socket
Sign inDemoInstall

kung-fig

Package Overview
Dependencies
23
Maintainers
1
Versions
392
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    kung-fig

The Kung Fu of configuration files!


Version published
Weekly downloads
420
increased by366.67%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Kung-Fig

Kung Fig!

The Kung Fu of configuration files!

Kung-Fig is a wonderful file format named KFG, its parser, its stringifier, and a set of great tools.

It is great for:

  • Configuration files
  • Hierarchical configuration files
  • Global/local and vanilla/plugins override and extension management
  • Application data
  • Saving user prefs in a human-friendly format
  • Building scripting language on top of it
  • Game characters, weapons, armors, spells, stats, bonuses, etc
  • Internationalization/localization
  • ... and many more

Now, look at this impressive list of features:

  • Human friendly data structure representation (similar to YAML, but potentially better)
  • Comments support
  • Multi-line strings support, with or without newline folding
  • Sections
  • Nice Map and dictionnary syntax
  • Classes/Constructors (date, binary data, regular expression, and custom constructors!)
  • Including files (.kfg, .json, .js, .txt, etc), featuring globs and recursive parent search
  • Relational data representation support
  • Meta-tags (headers)
  • Tags (to build scripting language on top of KFG)
  • References (i.e. referencing a part of the document from elsewhere)
  • Template strings and internationalization/localization
  • Expressions (arithmetic, logic, maths, etc)
  • Tree operations syntax (merge, combine, etc)
  • ... and many more!

Official support of the Atom editor:

A KFG Primer

Example of simple document:

# This is a comment!

# Set few properties:
first-name: Joe
last-name: Doe
age: 47

# This property contains an array:
interest:
	- science
	- literature
	- computer

# Use the special 'date' constructor:
birth-date: <date> Fri Jan 02 1970 11:17:36 GMT+0100 (CET)

# This include a file
items: @@path/to/file/items.kfg

Example featuring tags, suitable for for scripting (here Spellcast Scripting):

# Meta-tags (like headers)
[[doctype spellcast/story]]
[[locales locales/*]]

# Tags
[chapter story]
	
	[scene intro]
		[image] village.png
		[music] intro-theme.ogg
		
		[message]
			$> Once upon a time, there was a ${character.class}...
		
		[next end]
	
	[scene end]
		[image] castle.png
		[music] ending-theme.ogg
		
		[message]
			$> You found the master and learn everything he taught to you.
			$> You became famous in the entire country.
		
		[win]

Table of Contents

Keywords

FAQs

Last updated on 07 Feb 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc