Coder Social home page Coder Social logo

coyote-31 / tree-sitter-eu4mod Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 2.58 MB

📦 Tree sitter parser package for ⚜ Europa Universalis IV ⚜

Home Page: https://www.npmjs.com/package/tree-sitter-eu4mod

License: MIT License

Python 0.02% JavaScript 4.77% C++ 0.05% C 95.13% AMPL 0.03%
tree-sitter paradox-interactive eu4 europa-universalis-4 europa-universalis-iv

tree-sitter-eu4mod's Introduction

tree-sitter-eu4mod

npm GitHub Workflow Status GitHub

📦 tree-sitter-eu4mod is a global grammar parser for Europa Universalis IV.

📄 Description

This package is a global grammar parser for EU4 files. Focusing on developers working on EU4 mods and providing them a grammar parser able to handle any extension's file listed below in EU4 directory for modding purpose.

How to install :

To install this package from the npmjs repository via CLI :

npm install tree-sitter-eu4mod

Which EU4 file extension is managed :

Extension Supported
.mod
.gfx
.gui
.yml

Which text editor use this package :

📚 Documentation

How it works :

The parser is build with a generator tool from the dependency package tree-sitter. The grammar is define with a Javascript file named grammar.js then tree-sitter generate C libraries as parsers. And theses parsers can be used in other applications supporting context-free grammars (eg. ⚛ Atom) for the syntax highlighting of eu4 modding files.

Source archive :

Link Info
GitHub repository GitHub commits
Last release GitHub tag (latest by date)
All releases total releases

🐛 Any issue or bug report here

If you have any issue or find a bug please :

🔍 See also

©️ License

MIT

tree-sitter-eu4mod's People

Contributors

coyote-31 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

tree-sitter-eu4mod's Issues

🐛 Localisation color tag

  • 🐛 Localisation color tags doesn't color its content. ex. §Y12345§! §Yabcde§!

  • 🐛 Localisation color tags color the R in §YRabcde§!

  • 🐛 £icon_manpower_in_text£ in REBELS_ARMY_PROV:1 "$NAME$ : $SIZE|Y$ £icon_manpower_in_text£\n"

Missing vertical_alignment

  • Add vertical_alignment in instantTextBoxType
  • Test in other scope

Exemple in macrobuildinterface_override.gui :

instantTextBoxType = {
			name = "company_leader"
			position = { x = 15 y = 46 }
			textureFile = ""
			font = "vic_18"
			text = ""
			maxWidth = 170
			#c maxHeight = 18
			maxHeight = 40
			format = left
			#c vertical_alignment = bottom
                        vertical_alignment = center
			vertical_alignment = top
			fixedsize = yes
			allwaystransparent = yes
		}

if_resolution = {}

Expand if_resolution to parent scope.
Example : Works for iconType.
Test if it works for windowType too

gridBoxType missing max_slots_vertical

gridBoxType = {
			name = "privileges_gridbox"
			position = { x = 5 y = 87 }
			size = { width = 250 height = 150 }
			slotsize = { width = 50 height = 48 }
			max_slots_horizontal = 4
			**max_slots_vertical = 1** <<< Bug
			format = "UPPER_LEFT"
		}	

Missing no_clicksound = yes

The variable no_clicksound = yes (maybe = no too ?) is missing.
It's parent container is guiButtonType.

It block the parser in the container.

  • Need to search in others *.gui files
  • Fix the parser
  • Publish the correctif

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.