Commit graph

2320 commits

Author SHA1 Message Date
Ignacio R. Morelle
8e7242927d wmllint: Extend [terrain_type] aliasof conversion to mvt_alias 2014-02-20 04:43:56 -03:00
Ignacio R. Morelle
184af275eb wmllint: Ignore Mercurial .hg directories 2014-02-20 04:40:36 -03:00
Ignacio R. Morelle
dd4dc91a9e wmllint: Add a small comment block
This is documentation for e1852e6854.
2014-02-20 04:33:55 -03:00
Ignacio R. Morelle
e1852e6854 wmllint: Implement [terrain_type] aliasof conversion for changes in 1.11.[89]
Adds a text transform step for the aliasof attribute under
[terrain_type] accounting for several changes to base terrain aliasing
in Wesnoth 1.11.8 and 1.11.9, including:

 * 10854d4802 and related commits
 * c25849b7ea (Vit -> Vt in 1.11.9)

Just like usual terrain string conversions, this step can be disabled
for a specific line using # wmllint: noconvert.
2014-02-20 04:24:23 -03:00
Ignacio R. Morelle
93e6930593 wmllint: Spellcheck [terrain_type] editor_name= and help_topic_text= 2014-02-20 03:41:35 -03:00
Ignacio R. Morelle
16677d019e wmllint: Add check for [theme]s without an id 2014-02-20 02:05:43 -03:00
Ignacio R. Morelle
e2bc4a9de7 wmllint: Add check for user-visible [theme]s without a name or description 2014-02-20 02:03:28 -03:00
Ignacio R. Morelle
d16ec0cf9e wmllint: Add check for deprecated [theme] name= usage 2014-02-20 01:53:11 -03:00
Ignacio R. Morelle
a15f89e873 wmllint: Fix incorrect ToD schedule image substitution 2014-02-20 01:47:29 -03:00
Alexander van Gessel
bbe459927f Add a missing space 2014-02-17 05:28:25 +01:00
Elias Pschernig
ae3697d4e8 [wesnoth_addon_manager] Also upload sub-sections from the .pbl. 2014-02-16 23:08:26 +01:00
Elias Pschernig
10df18d7cf [wesnoth_addon_manager] Upload everything in the _server.pbl
There was no reason to filter the list of attributes, anything found in the _server.pbl is now also passed on to the addon server.
2014-02-16 21:12:34 +01:00
Elvish_Hunter
e4c87305dc wmllint: moved in_clear_menu_item check in a better position 2014-02-07 15:05:48 +01:00
Alexander van Gessel
242f0532f0 Derive from the correct exception class 2014-02-05 16:14:06 +01:00
Alexander van Gessel
e09305afac Exit if the build system can't be cloned 2014-02-05 16:12:59 +01:00
Allefant
a425c951c2 [wmlunits] show vision and jamming for a unit
(if available)
2014-02-02 13:35:56 +01:00
Allefant
8aa0febfde [wmlunits] Disable crashing chunk_start stuff someone added. 2014-01-29 17:44:22 +01:00
Allefant
167a370787 [wmlunits] Fixed addon units with non-ascii UIDs 2014-01-29 14:56:11 +01:00
Allefant
f4434f2df1 [wmlunits] more debugging 2014-01-29 13:42:40 +01:00
Allefant
c182e93441 [wmlunits] fix debug message
(time to move this to Python3...)
2014-01-28 16:18:48 +01:00
Allefant
62ddbd2f81 [wmlunits] add some debug info 2014-01-27 23:10:34 +01:00
Allefant
91800c34c8 [wmlunits] for campaigns, define a difficulty
The first preprocessor symbol listed in a campaigns difficulties=...
attribute is now set when parsing WML looking for unit definitions.
2014-01-27 16:57:16 +01:00
Allefant
a83ae0ab08 [wmlunits] Filter out eras from dependencies 2014-01-21 02:07:23 +01:00
Groggy Dice
3f79e418a5 wmllint: report stored units never unstored or cleared
Keys from the dictionary of stored units are removed as the unit is
unstored or its variable cleared. However, I found that one character in
Legend of Wesmere, Urudin, is stored but apparently never unstored/cleared.
I figure it's best to report such cases.

This message does not include helpful information like the filename,
because that data was never stored in the dictionary. The dictionary was
designed on the presumption that all entries would have a matching unstore/
clear event, and I didn't think of this warning until I saw there was an
anomalous case. Those who get this error will just have to use grep!
2014-01-20 04:19:52 -05:00
Allefant
754229ff22 [wmlunit] fix help 2014-01-19 21:34:26 +01:00
Allefant
7a653b1c12 [wmlunits] Also take dependencies into account for second pass. 2014-01-19 21:34:26 +01:00
Allefant
db98a2af1c [wmlunits] Don't store translations which are the same. 2014-01-19 21:34:26 +01:00
Allefant
e8b930260f [wmlunits] simplified dependencies 2014-01-18 16:39:36 +01:00
Allefant
0c4cd5a337 [wmlunits] implemented dependencies support 2014-01-17 18:13:45 +01:00
Groggy Dice
e059677112 wmllint: take out testing lines 2014-01-17 06:02:33 -05:00
Groggy Dice
6aa8d86b3e wmllint: recognize unstored units
This required care to:

* not add ids inside [not] tags
* remove items from dictionary not just when unstored, but when
  clear_variable is used
* handle comma-separated values
2014-01-17 05:38:44 -05:00
Groggy Dice
c7de5ce968 wmllint: lay groundwork for recognizing unstored units
The next commit will actually populate the dictionary and append
the id to recognized characters.
2014-01-17 05:38:40 -05:00
Allefant
e9430a02d1 [wmlunits] increase timeout for parsing user addons 2014-01-17 10:58:38 +01:00
Allefant
dc4670b897 [wmlunits] Don't abort un uncaught exceptions.
Instead keep going to the next addon during pre-parsing of user addons.
2014-01-16 17:45:46 +01:00
Alexander van Gessel
f9308f727d Merge branch 'wmlparser_metadata' 2014-01-15 18:02:50 +01:00
Allefant
92b02a6562 [wmlparser2] Parse multi-line WML tags.
Sigh. Probably should re-write the .plain file parser to first remove
all commands, keeping the meta-information in a separate class. Then
parse the result (which should be much simpler) and consult the
meta-information where necessary (text-domain for strings, source files
and line numbers for tokens).
2014-01-15 17:34:42 +01:00
Ignacio R. Morelle
092031e5e1 Set the executable bit on data/tools/wmllint-1.4 2014-01-12 23:40:03 -03:00
fendrin
a66a80efab Don't make assumptions on WML string value quote format. 2014-01-09 07:50:32 +01:00
Allefant
66162c1374 [wmlparser2] Fixed another newline handling case.
The last commit fixed one issue but introduced yet another. Now both
should work. Need to investigate if parsing the .plain files really is
necessary, would make things much easier if there was no need for it.
2014-01-07 15:37:36 +01:00
Ignacio R. Morelle
715618b385 wmllint: Clarify error message about existing spelling exceptions 2014-01-06 22:59:44 -03:00
Allefant
3799631bd4 [wmlparser2] Last fix introduced a different bug.
Should work properly now.
2014-01-06 00:12:14 +01:00
Alexander van Gessel
1d3e75e038 Add location metadata to wmlparser2's nodes 2014-01-05 15:09:37 +01:00
Allefant
5ad589066c [wmlparser2] Fixed issue with .plain file parsing
For example defined strings with empty lines would not work. The problem
was a direct check for newlines which failed if there were chr(254)
commands on the same line.
2014-01-04 23:54:16 +01:00
Ignacio R. Morelle
d6cfc9bb6b wmllint: Document markcheck off/on directives 2014-01-04 12:54:24 -03:00
Groggy Dice
9894a36cb6 wmllint: minor wording tweak for "unknown speaker" message 2014-01-04 09:43:54 -05:00
Groggy Dice
128958511a wmllint: prevent zero-length unit ids from crashing python-enchant spellcheck 2014-01-03 11:09:21 -05:00
Groggy Dice
9689cd0d0b wmllint: add "unknown speaker" warning
I actually thought this was already checked by the "unknown 'xx' referred to
by id" warning. Probably because many more [message]s used to use id= and
role= rather than speaker=.

As a side effect, this new error will force designers to use my 'who' and
'whofield' magic comments!
2014-01-03 10:35:31 -05:00
Groggy Dice
d580b2b476 wmltools.py: fix macro call parsing to prevent wmlscope stringliteral mismatch
I am responsible for wmlscope suddenly giving macro mismatch errors, as was
pointed out on IRC. The tell is that in each of these errors, the last field
is interpreted as a stringliteral.

An argument that starts and ends with a quote is interpreted as a stringliteral.
But under previous code, that couldn't happen: quote characters toggled the
instring status on and off, but weren't added to arg, so no arg contained any
quotes. I didn't like the fact that this stripped the quotes out of translatable
strings, so I changed the code to include quotes in arg and strip them out if
they began and ended the arg. Unfortunately, while I stripped out quotes when
arg was terminated by a space, I didn't think it was necessary when the right
bracket terminated the arg. It was.
2014-01-03 10:35:27 -05:00
Groggy Dice
20bc51302e wmllint: rewrite test of permitted tags in [part]
The tags are now tested directly, rather than as a parent of a key. The old
test was probably not missing tags like the test for illegal child of [if]
did, because [part] could be anywhere in ancestors. Anyway, [part] rarely
contains other tags.
2014-01-03 10:35:25 -05:00
Groggy Dice
b68feb74f4 wmllint: clean up detection of "illegal children of [if]"
Previously, only lines that parse_attribute could process got passed to
local_sanity_check. So tags survived as ancestors of attribute lines, but
the lines with the tags themselves got discarded. Hence, the "illegal child
of [if]" error was actually triggered by attributes, and the line number
referred to that line rather than the child tag.

While working on [aspect] and [facet] (which originally preceded this commit),
I changed the TypeError exception to pass all lines to local_sanity_check. This
allows for a direct test of the child tags. It turns out many child tags were
not tested because all the attributes were nested deeper inside other tags,
so that the child tag was not the parent of any attribute.

Two core macros failed the new test with the tags [filter_second] and
[filter_second_attack]. This pointed up the fact that these were not in the
list of valid child tags.

It also turns out that tags inside #ifdefs didn't fit the original test,
because "#ifdef" was considered an ancestor, interrupting the link between
"[if]" and the child tag.
2014-01-03 10:35:23 -05:00