1. 14 Feb, 2017 1 commit
  2. 17 Jan, 2017 1 commit
  3. 26 Nov, 2016 1 commit
  4. 02 Nov, 2016 1 commit
  5. 07 Aug, 2016 1 commit
  6. 02 Aug, 2016 1 commit
  7. 14 Jul, 2016 1 commit
  8. 08 Jun, 2016 1 commit
  9. 18 Mar, 2016 1 commit
  10. 04 Mar, 2016 1 commit
    • Leon Arnott's avatar
      Fixed the 'outline' text style's text colour. · 6802c7a6b478
      Leon Arnott authored
      Now, the 'outline' style should use the dominant background colour as its text colour, instead of transparent. (Obviously this effect won't be perfect if a background image is used, but such is the limitations of this CSS technique.)
  11. 16 Feb, 2016 1 commit
  12. 15 Feb, 2016 1 commit
  13. 01 Feb, 2016 1 commit
  14. 30 Jan, 2016 1 commit
    • Leon Arnott's avatar
      Improved the CodeMirror syntax highlighting a bit more. · 31c6e49d4373
      Leon Arnott authored
       * Fixed a bug where nested hooks 2 or more deep didn't have the correct background colour.
       * Now, placing the cursor on a syntactic token (such as a variable, or an entire hook) will underline the full expanse of that token. This provides a  means to, for instance, match brackets/closers of hooks or macros.
       * Also, placing the cursor on a $variable will highlight all other occurrences of that variable in the text, showing immediate uses of that variable and potentially assisting in catching typos.
       * Placing the cursor on a ?hookRef will highlight other same-named hookrefs, and highlight the tags of hooks which it refers to.
       * Nested macros' backgrounds now have cumulative background colours, like hooks do.
       * Added syntax styling for ^^sup^^ markup.
  15. 09 Dec, 2015 1 commit
  16. 03 Dec, 2015 1 commit
  17. 02 Dec, 2015 2 commits
  18. 29 Nov, 2015 1 commit
  19. 28 Nov, 2015 1 commit
  20. 25 Nov, 2015 1 commit
  21. 24 Nov, 2015 1 commit
  22. 21 Nov, 2015 2 commits
  23. 19 Nov, 2015 3 commits
  24. 17 Nov, 2015 1 commit
  25. 15 Nov, 2015 1 commit
  26. 08 Nov, 2015 1 commit
    • Leon Arnott's avatar
      Reinstated the debug notification for the (set:) macro · 2e3cd53e25b4
      Leon Arnott authored
      This was formerly removed in 6f68c369ce69, because the change in 4022efc59d4c that made (set:) return a special object instead of a string can be leveraged to supply the debug notification without passing it directly to userland code. This is fortunate indeed.
       * Updated the README to list version 1.2 details, and changed the version numbers.
       * Removed the still-in-development (enchant:) macro for now.
  27. 07 Nov, 2015 2 commits
  28. 20 Aug, 2015 1 commit
  29. 19 Aug, 2015 1 commit
  30. 17 Aug, 2015 1 commit
    • Leon Arnott's avatar
      Migrated build tools from Grunt to Make. · 6f8f191a159b
      Leon Arnott authored
      This toolshift should result in better running times for basic tasks, and a somewhat cleaner build script.
      Also, as a consequence, proper jshintrc files have been created in each codebase (the Harlowe source, and the test specs). However, due to the loss of grunt-contrib-jshint, a custom jshint reporter adapted from it must be included to retain its desirable reporting messages.
  31. 13 Aug, 2015 1 commit
    • Leon Arnott's avatar
      Fixed the (move:) macro, and improved its behaviour with hook references. · a0c223b7c944
      Leon Arnott authored
      Now, the (move:) macro should again correctly delete the value from the source after copying it to the destination. Also, new semantics for deleting a hook reference have been implemented: (move: ?a to $a) will, after copying, replace ?a's content with the empty string.
      Tests for the above have also been added.
  32. 08 Aug, 2015 1 commit
    • Leon Arnott's avatar
      Added container slice-indexing syntax to TwineScript. · cb71b041050e
      Leon Arnott authored
       * Now, authors can supply an array of property names to the "'s" and "of" property syntax to obtain a "slice" of the container. For instance, "(a: 'A','B','C')'s (a: 1,2)" will evaluate to a subarray of the first array, containing just 'A' and 'B'.
       * As well as creating subarrays, you can also get a slice of the values in a datamap - in effect, a subarray of the datamap's datavalues. You can do "(datamap:'Hat','Beret','Shoe','Clog','Sock','Long')'s (a: 'Hat','Sock')" to obtain an array "(a: 'Beret','Long')".
       * Additionally, you can obtain characters from a string - "abcde"'s (a: 2,4) becomes the string "bd". Note that for convenience, slices of strings are also strings, not arrays of characters.
       * Combined this with the (range:) macro, this essentially obsoletes the (subarray:) and (substring:) macros. However, those will remain for compatibility reasons for now.
       * Also added several more tests related to this and property indexing in general.
  33. 28 Jul, 2015 1 commit
  34. 27 Jul, 2015 1 commit
    • Leon Arnott's avatar
      Converted (if:)/(unless:)/(elseif:)/(else:) to be changer macros rather than boolean value macros. · d15d6a463977
      Leon Arnott authored
      This change, a TODO for awhile, provides the following benefits: 1) authors are warned when their (if:) isn't attached to a hook, 2) it allows (if:) to be composed with other changers, such as (text-style:). However, there is, I admit, a potential problem: On creating a composed changer using, say, (if: $poweredUp), changing the value of $poweredUp won't change the value of the composed changer. This can be seen as functional side-effect hygeine, but it may be puzzling to authors.
      Also fixed the <audio> tests to work on browsers which lack Ogg support.
  35. 26 Jul, 2015 1 commit
    • Leon Arnott's avatar
      Tightened up type-checking in a few areas related to (set:) · 134ebed27ab5
      Leon Arnott authored
       * Fixed a bug where (align:) commands didn't have structural equality with each other - (align:"==>") didn't equal another (align:"==>").
       * Added structural equality tests for several other changer command macros.
       * Now, (set:) and (put:) commands, as well as AssignmentRequests, are no longer accepted by macros that have an Any type-signature. Only passage prose (for the former) and (set:)/(put:) (for the latter) is a valid place for them.
       * Now, setting a markup string to a ?hookSet will cause that markup to be rendered in the hookset, instead of being used as raw text. Also, it is now an error to set a ?hookSet to a non-string.