- Fix EU4 encoding confusion
- Support parsing "?=" as an operator
- Handle corrupt ZIP files
- Rules: Hotfix previous
- Rules: support type-based modifiers generated from rules in stellaris
- VIC3: support type-based modifiers generated from rules
- VIC3: Warn when a modifier is used but not defined in modifier_types
- Rules: Support
replace_scope
on top level type rules
- EU4: Add PREV_PREV
- Completion will now wrap items in quotes when necessary
- Fix spurious "tree view" errors
- Fix publishing error
- Victoria 3: Fix vanilla caching
- Victoria 3: Add initial support
- Stellaris: Remove obsolete localisation validation
- Stellaris: Add new languages (Korean/Japanese)
- Further completion performance improvements
- If <2000 possible items then full VS Code fuzzy matching will apply
- If >2000 possible items it will only suggest items where the text so far is contained in the item
- Fix completion for items you are only supposed to have one of
- Stellaris: Support parameter default value syntax on LHS
- Stellaris: Fix some missing underscores in modifiers
- Hotfix: Fix completion after tabs
- Support alias_key_field in links
- Stellaris: remove old forced scope changes for variable effects
- Hotfix: excessive debug logging
- Stellaris: Add support for script_value param syntax (value:something|PARAM|Value)
- Stellaris: Add validation for script_value param usage, checking if the param used will cause an error
- Significantly improved performance for completion (most notable in CK3)
- Stellaris: Fix auto-generated modifiers
- Stellaris: Suppress [[FLAG]] errors
- Fix occasional extension corruption
- Hotfix: Add prev/this/root/from to completion
- Hotfix: Allow "@" variables in value fields
- Add intelligent completion for scope/variable dot chains on the RHS
- Add different icons in the completion list for scopes/variables/values
- Add support for Stellaris variables and triggers
- Fix Stellaris script docs parsing
- Fix longstanding issues with newer linux distros
- Fix "tree-view" error
- 20-30% performance improvement
- Improved modifier support for stellaris
- Event targets in stellaris localisation
- Expose localisation links into config files (see stellaris)
- Expose scope groups into config files (see stellaris)
- Fix CK3 vanilla cache
- Fix CK3 path
- Add basic CK3 support
- Add simple CK3 GUI file support
- Rules: Add
## error_if_only_match
for custom error messages - Rules: Add
should_be_used
for types, errors if type not used anywhere (experimental)
- Rules: Improve
alias_key_field
- Rules: Add
variable_field_32
andint_variable_field_32
for variables limited to 3 decimal places - Rules: Fix subscopes
- Fix formatting on save
- Stellaris: Fix federation and tile scopes
- Add a setting for the placeholder localisation text
- Add stellaris federation scope
- Add "Export all types" command
- Hotfix redundant OR
- Support simple chinese
- Add redundant AND/OR validator to HOI4
- Fix random freezing when performing many actions in short succession
- Add
only_if_not
option for subtype, to add dependancies on other subtypes - Fix DLC zips
- Add
datetime_field
forYYYY.MM.DD.HH
- Support DLC zips
- Support dynamic values, e.g. values that are set with
_@ROOT
and used as_FRA
- Support multiple complex enum defs
- Remove mixed block valdidator
- Rules: Add support for mandatory quotes in rules
- Rules: Add
localisation_inline
field, which is intended for things likeset_blah_name
where you don't want a quoted loc key. - Fix HSV/RGB caps
- Increase missing quotes to warning
- HOI4: Better handle event_target variables
- HOI4: Increase validate loc character range to include more western
- HOI4: Handle
?
in variables - HOI4: Support
?10
numbers in loc
- Better completion in files such as
on_actions
- Fix floats formatting
- Supress localisation missing ref errors when dollars are used... as dollars
- HOI4: Handle starting
?
in loc commands - CK2: Minor fix to titles
- Fix saving graph as image
- HOI4: Validate localisation
- Rules: Add
= ignore_field
which will ignore the subtree on the right - Localisation: Validate that localisation starts and ends with quotes
- Significant performance improvement for large mods (30%)
- Support
^
on the LHS - Rules: Allow
enum[]
in predefined variables - Misc: Update Libgit2, removing the dependecy on libcurl3 on linux
- Add maxfilesize setting
- Improved performance for large files
- Rules: Add better support for flags
- Fixes for dynamic predefined values
- Naive support for HOI4
?
,^
and quoted scope changes
- Rules: Add support for dynamic predefined values (party_popularity@)
- Imperator: Support jomini interface script structures
- Imperator: Add completion in localisation
- Add "Go to definition" for localisation keys
- Rules: Suppport the HOI4 array "^"
- Rules: "Go to definition" and hover works better for complicated types
- Rules: Add
## cardinality ~1..2
where the~
means that values between 0 and 1 only show a warning - Stellaris: Improved econ category modifiers
- Stellaris: Add "stellaris_name_format" rule field for random_names
- Rules: Add "alias_keys_field[trigger]"
- Hotfix scripted effect param validator performance
- Rules: Standardise path definitions between types and enums
- Add document formatting
- Rules: Recursively check subtypes
- Intelligently determine errors for scripted effects based on actual usage (Stellaris/EU4)
- Add "Set graph depth" to graphs, controlling how far back links are displayed
- Stellaris: Validate that all economic categories have an ai_budget
- Add "zoomSensitivity" setting for graph scroll speed
- Add support for configuring graphs from config files
- Significantly improved performance across the board
- Some tweaks to graph display
- New feature: Event graphs Press "Show event graph" in an event file in order to visualise your events
- Add "Save graph to image"
- Add "Save graph to json", as well as "Recreate graph from json"
- Double click on nodes to go to event definition
- Hover over nodes to see defined event targets, flags, etc
- Hotfix
- Fix EU4 trade node scope
- Better default language settings
- Fix EU4 localisation commands
- Remove old Stellaris 2.1 validators
- Add warning for "If" without any effects inside it
- Rules: Add support for config defined scopes (which were previously hardcoded)
- Vic2: Better Vic2 vanilla detection
- Improved completion and hover for certain types of files (type_per_file = yes)
- Rules: support multiple skip_root_key
- Support workspaces (opening multiple folders in the same vscode window)
- Opening vanilla files at the same time as your mod no longer causes problems
- F12 (go to definition) on vanilla things in your mod is now safe and will show you the vanilla file!
- Bugfix reading log files from rules
- Smaller, faster cache files
- Add stellaris 2.3 scopes
- Add stellaris scripted effect params (
$PARAM$ )
- Pre_trigger code actions for stellaris
- Initial Vic2 support
- Add "unique" keyword for rule types that enforces just one definition
- Complex enums now properly recurse
- Fix localisation caching for Imperator
- Add configu rule support for "filepath[prefix]" and "ir_family_name_field"
- Fix EU4 scopes
- Surprise! Day 1 Imperator support!
- Update Stellaris to 2.2.6
- Fix links
- Add support for rule-based event target links in rule config
- Minor performance improvements
- Add support for event target links in rule config
- Hovering over fields will now show documentation where it exists
- Show subtype localisation in tooltips
- Further improvement to CK2 titles
- CK2 provinces
- CK2 landed titles
- Further improve CK2 localisation
- Add "starts_with" setting for config rule types
- Support multiple "path" settings for config rule types
- Support config rule types localisation being references to loc keys inside
- Improve CK2 localisation
- Fix CK2 loading
- Only load cached files if necessary
- Add CK2 DNA/Properties
- Better handling of changes to localisation files (update validation properly)
- Add support for CK2
- Validation context switches in localisation
- Reduce errors in debug output
- Complete EU4 support
- Prevent validation of vanilla files
- Make errors a little clearer
- Add completion for
@
script variables - Add more detailed localisation in the hover tooltip for types (mainly eu4 for now)
- Sort completion list, moving items used in the same file to the top
- Significant performance improvements
- Enabled Code Outline
- Configure localisation commands from a config file called
localisation.cwt
- Add modifier categories for HOI4
- Support other languages for EU4/HOI4
- Fix localisation of types
- Validate on swapping file
- Add "manual" setting for "rules_version", which combined with "rules_folder" to use a specific folder for config rules
- Provide completion for "event_target:"
- Add error for localisation that refers to itself
- Add stellaris building cap modifiers
- Add vanilla caching process for EU4 and HOI4
- Performance improvements
- Validation of localisation strings for EU4
- Add localisation for EU4/HOI4
- Update to 2.2.2
- Improved scope checking for effects/trigger/modifiers
- Automatically restart on rules update
- Improved validation of flags
- Add a warning when a file is opened instead of a mod folder
- Add features for rules: localisation can now be defined on types
- Add features for rules:
variable_field
- Add some generated 2.2 modifiers
- Update to Stellaris 2.2
- Performance hotfix
- Add
folders.cwt
to manually override folders to be validated
- Fix crash when cachefile missing
- Add ability to cache vanilla files for Stellaris/EU4/HOI4 to use instead of embedded files Ctrl-Shift-p "cwtools: Generate cache"
- Remove requirement for git
- More fixes
- More hotfixes
- Basic HOI4 support
- Hotfixes!
- Enabled rule-based validation by default. Every file in your mod now gets detailed validation!
- Enabled completion by default. Every file in your mod should get intelligent auto-completion!
- Added auto-updating rules, controlled by the setting
cwtools.rules_version
.
- Updated rules
- Potential fix for linux/osx
- Reduced severity of localisation naming validators
- Add
severity
option for rules to manually set the severity of that rule (normally lower, from error to warning)
- Improved autocompletion (should now work everywhere)
- Increased resiliancy to errors, now won't restart on error
- Performance improvements
- Performance improvements and hotfix
- Add "Reload config rules" command to reload config rules
- Hotfix vanilla embedded files
- Performance improvements
- Fix locale issue with floats
- Fix scope hover info
- Slightly improve startup speed
- Fix crash on tooltip hover
- Add validation of localisation file encoding, header and name
- Performance improvements
- Hotfix some rules
- Improved config base validation
- Validation of value clauses
- Fix prescripted_countries embedded content
- Include syntax highlighting by default
- Update to 2.1.2
- Reduce flag usage to a warning
- Improve flag usage validator coverage
- Add megastructure/planet_class model validator
- Add flag usage validator
- Update config rules
- Fix completion
- Update config rules
- Add config rules for interface/gfx/sounds/music/fonts
- Add
path_strict
option for types which prevents subfolders being searched - Add
severity = warning
option for types which reduces errors to warnings - Add Alliance scope
- Add
percentage
value for config rules
- Reduce false-positives for localisation_synced references
- Add remaining missing scope commands
- Update config rules
- Add improved redundant AND and OR checks
- Update config rules
- Add "Find all references" (currently only works when right clicking on a reference)
- Update config rules with most of A-M
- Update config rules
- Add "Go to definition" (currently only works for mod defined types)
- Support "FROM" scopes
- Add
replace_scope
for config rules - Add unnecessary AND validator
- Add basic support for HOI4
- Enable improved completion by default
- Add command "Generate missing loc for all files"
- Significantly improved general performance
- Validated anomaly localisation
- Fix completion in multi-mod projects
- Improve performance of config based validation
- Fix negative value parsing
- Add tile blocker localisation
- Add static_modifier desc localisation
- Add
push_scope
for config rules
- Add planet_killer localisation and other validation
- Add scope information tooltip
- Add support for
scope
rules - Update config rules
- Update config rules
- Add support for localisation_synced rules
- Update config rules
- Add support for <type.subtype>
- Update config rules
- Add support for 'complex_enum'
- Bugfix
- Add support for
localisation
value for cwt config
- Add support for more complicated keys in aliases for cwt config
- Add support for
type\_key\_filter
on subtypes for cwt config
- Add support for multiple rules with the same key for cwt config
- Add support for left hand side type values for cwt config (e.g.
<technology> = bool
fortech_something = yes
)
- Add support for left hand side values for cwt config (e.g.
int = { }
for random_list1 = { }
)
- Update config files
- Add support for .cwtools folder with config files in it
- Add support for new config file format, see https://github.com/tboby/cwtools/wiki/.cwt-config-file-guidance
- Check correct ordering of if/else/else_if
- Support opening a folder containing
.mod
files (that isn't the mod folder) - Remove errors from list when a file is deleted
- Add nested if/else effect deprecation warning
- Add temporary if/else effect ambiguity warning
- Update to 2.1.0
- Add solar_system_initializer star class check
- Add anomaly migration warning
- Update validation to new anomaly format
- Add experimental completion
- Reduce memory usage
- Support syntax highlighting
- Fix vanilla syntax errors
- Add info for "REPLACE_ME" localisation
- Add localisation checks for starbase_buildings, starbase_modules, starbase_types and special_projects
- Sort generate localisation by order in file
- Override trigger_docs and show error for pop/tile use of set_variable and similar
- Update to stellaris 2.0.4
- Improved icon validators
- Ensure a final validation happens after changes stop
- Handle mod overwriting of vanilla files
- Add localisation tooltips
- Promote ship design validation from experimental
- Add mesh validation (experimental)
- Add graphical entity validation (experimental)
- Add ship_size/component/section graphical entity validation (experimental)
- Add temporary error for 2.0.2 bug with after
- Add validation of ship designs, check that section slot type and component type match (behind experimental flag)
- Warn if tech has no effect (and has weight > 0)
- Fix .yml parsing bug
- Add validation of
$refs$ in localisation - Add validation of [commands] in localisation
- Add a command to create a .csv of all errors To use, press ctrl-shift-p, then "write all errors"
- Revert a change to localisation parsing
- Update to stellaris 2.0.2
- Check for ambiguous use of NOT operators
- Add localisation checking for opinion modifiers
- Fix localisation checking for war goals
- Check modifiers for opinion modifiers
- Significant performance improvements
- Display syntax errors immediately while validation is ongoing
- Add yes/no to autocomplete
- Add weights checking for
- Event options
- Agendas
- Anomalies
- Ascension perks
- Bombardment stances
- Buildings
- Component templates
- Country Customization
- Country types
- Deposits
- Edicts
- Ethics
- Governments
- Megastructures
- Observatation station missions
- Personalities
- Planet modifiers
- Policies
- Pop faction types
- Section templates
- Species rights
- Starbase buildings
- Starbase modules
- Starbase types
- Technologies
- Terraform
- Tile blocks
- Traditions
- War goals
- Add localisation checking for war goals
- Add localisation checking for custom_tooltip everywhere
- Correctly validate effects/triggers inside if, while and event_targets
- Fix bug with event_target check when you reference an event that doesn't exist
- Improve event_target checking to handle loops (still behind experimental setting)
- Add file "ignore" list to filter filenames that won't return validation errors
- Stop validation "random_names" as it's so non-standard
- Improve responsiveness of validation when make rapid changes (by only checking the latest version of a file not every changed version)
- Add scripted_effect event_target checking (still behind experimental setting)
- Add (experimental) event_target checking (hidden behind experimental flag)
- Add tooltip info for scripted_effects/triggers (taken from comments above definition)
- Add (experimental) modifier existence and scope checking for:
- Buildings
- Agendas
- Ascension perks
- Component templates
- Edicts
- Ethics
- Governments
- Policies
- Ship sizes
- Species rights
- Starbase buildings
- Starbase modules
- Strategic resources
- Technologies
- Tradition categories
- Traditions
- Traits
- Add OSX support
- Update embedded interface to 2.0
- Significantly improve performance for large mods
- Add effect and trigger validation for:
- Anomalies
- Armies
- Ascension perks
- Bombardment stances
- Buildable pops
- Buildings
- Bypasses
- Casus belli
- Diplomatic actions
- Edicts
- Ethics
- Mandates
- Megastructures
- Observation stations
- Personalities
- Policies
- Pop faction types
- Ship sizes
- Solar system initializers
- Species rights
- Starbase buildings
- Starbase modules
- Starbase types
- Start screen messages
- Subjects
- System types
- Technology
- Terraform
- Tradition categories
- Traditions
- Traits
- War goals
- Fix bug with scope usage through prev
- Add simple scope commands to autocomplete
- Properly parse hsv/rgb with 4 values
- Check scope usage through "AND", "OR", etc
- Properly parse files with only values
- Properly parse "rgb"
- Give better feedback for parser errors when there is no matched brace
- Update localisation to 2.0
- Add simple autocomplete (triggers, effects, and modifiers)
- Add documentation for autocomplete (usage information and supported scopes)
- Add action to generate .yml for missing localisation keys
- Ignore missing keys that are just scripted loc (e.g. "[GetName]")
- Check correct scope of static modifiers use in has_modifier and remove_modifier
- Support scripted_variables
- Fix bug with checking variables in nested blocks
- Check correct scope of static modifiers use in add_modifier effects
- Add Stellaris 2.0 scopes
- Set 2.0 trigger_docs as default
- Check effectFile and textureFile against actual files, throw an error if the file isn't found
- Add "cwtools.errors.ignore" setting to allow ignoring of specific error codes
- Handle "hidden" prefix on scopes
- Update scope checking to support PREV and check inside scopes
- Check effects and triggers in more parts of events (options, desc triggers)
- Add experimental option to enable experimental features
- Added 2.0 effects/triggers behind experimental flag
- Check button_effects used in .gui files are defined
- Check spriteTypes used in .gui files are defined
- Fix ambient_object localisation checks
- Support recursive triggers and effects
- Add localisation_synced checking in events
- Add localisation for pop_faction_types
- pft
- pft plus "_desc"
- Add localisation for static_modifiers
- modifier
- modifier plus "_desc"
- Add localisation for spaceport modules
- "sm_" plus module
- Add localisation for traits
- trait
- trait plus "_desc"
- Add localisation for governments
- government key
- ruler_title, ruler_title_female, heir_title, heir_title_female
- civic
- civic plus "_desc"
- civic description
- Add localisation for personalities
- "personality_" plus personality
- peronality plus "_desc"
- Add localisation for ethics
- ethics
- ethics plus "_desc"
- Add localisation for planet_classes
- planet class
- planet class plus "_desc"
- if colonizable
- planet class plus "_tile"
- planet class plus "_tile_desc"
- "trait_" plus planet class plus "_preference"
- preference plus "_desc"
- planet class plus "_habitability"
- Add localisation for edicts
- "edict_" plus edict name
- "edict_" plus edict name plus "_desc"
- Add localisation for policies
- "policy_" plus policy
- "policy_" plus policy plus "_desc"
- policy option name
- policy option name plus "_desc"
- policy option flags
- Add more localisation for technology
- feature_flags
- feature_flags + "_desc"
- Add localisation for section_templates
- key
- Add localisation for species_name
- "_desc"; "_plural"; "_insult_01"; "_insult_plural_01"; "_compliment_01";"_compliment_plural_01";"_spawn";"_spawn_plural"; "_sound_01";"_sound_02";"_sound_03";"_sound_04";"_sound_05";"_organ";"_mouth"
- Add localisation for strategic_resources
- resource
- resource + "_desc"
- Temporarily remove research leader checks
- Add localisation for armies and army_attachments
- army name
- army name plus "_plural"
- army name plus "_desc"
- attachtment is the same three but starting "army_"
- Add localisation for aura in component_templates
- Add localisation for diplo phrases
- Check technology "research_leader"'s "has_trait" matches the technology category
- Add localisation for ship_sizes
- Add localisation for pop_faction_types
- Add localisation for technology gateway
- Add localisation for species_rights
- right name
- right name plus "_tooltip"
- right name plus "_tooltip_delayed"
- Add localisation for map setup_secnarios
- Add localisation for megastructurew
- megastructure name
- megastrcture name plus "_DESC"
- megastructure name plus "_MEGASTRUCTURE_DETAILS"
- megastructure name plsu "_CONSTRUCTION_INFO_DELAYED"
- Add more validation for technologies
- All "research_leader" must have an area, which should match the technology
- Add localisation checks for buildings
- building name
- build name plus "_desc"
- all "fail_text" under buildings
- Add localisation checks for component_templates
- key
- Add localisation checks for traditions
- use tradition_categories to determine traditions
- tradition name for all
- tradition_desc for start + traditions
- tradition_delayed for traditions
- tradition_effect for start and finish
- Add localisation checks for technology
- technology name
- technology name plus "_desc"
- all "title" and "desc" keys under "prereqfor_desc"
- Add localisation checks for component_sets
- component_set's "key", but only is "required_component_set" is false