Search results

  1. F

    Feature ASH language server features

    The first version of the language server is pretty much ready to go, but I'm trying to apply @heeheehee 's advices, and will try to split this as much as possible. Here is the first step. This patch is about introducing two new classes to Parser.java: the Line, and the Token. Currently...
  2. F

    Bug Gelatinous Noob absorbed enchantments persist through logout

    My point here was that, at least, with github, the various commits that constitute a pull requests show the changes *starting at the end previous commit*. With git/subversion, if you split a big change into smaller steps, you need to wait for each submitted step to be accepted and added to the...
  3. F

    Bug Gelatinous Noob absorbed enchantments persist through logout

    I definitely understand how and why it helps, but I have issue with this practice for both personal, social and specific-to-this-situation/project - related issues. (I'm listing them in order to either get help solving them, or to get leniency in understanding my struggles to apply this method)...
  4. F

    Bug Gelatinous Noob absorbed enchantments persist through logout

    ...sorry. My main gripe is how Modifiers.java is 5k lines long, with undocumented fields and methods all on the same level, and the "Object" class often being used to store data across arrays/lists. Using classes and sub-classes to store data and organize methods would help greatly, IMO, but...
  5. F

    Feature ChoiceManager refactor

    bump
  6. F

    Bug Gelatinous Noob absorbed enchantments persist through logout

    Modifiers.java: public class Modifiers { private static final Map<String, Object> modifiersByName = new HashMap<>(); private static final Map<String,String> familiarEffectByName = new HashMap<>(); private static final Map<String,Integer> modifierIndicesByName = new HashMap<>()...
  7. F

    Bug bug + feature: adding a way to assert that a path starts with ROOT_LOCATION

    I can assert that what I did in the patch I submitted helps for n°2, without breaking n°1 or n°3. This is because I went straight for KoLmafiaCLI.findScriptFile, which doesn't alter the string it receives in any way/use it in any way other than search for that exactly-named file. Now, what I...
  8. F

    Bug bug + feature: adding a way to assert that a path starts with ROOT_LOCATION

    Suppose you have two files. <root>/scripts/my_script.ash <root>/scripts/a_folder/however_many_layers_you_want/scripts.ash It is currently impossible to point to the former without using an absolute path, as submitting "scripts/my_script.ash" to KoLmafiaCLI.findScriptFile( string ) will always...
  9. F

    Bug Directives are allowed at the start of any block (ASH)

    No. A script can only notify a single user, so more than one notify does nothing. There's no issue with that. The issue is how weird it would be to add a since in the middle of your code. Your script can have an since directive, and your imported scripts can each have one, too. Whichever is...
  10. F

    Bug Directives are allowed at the start of any block (ASH)

    On top of being allowed at the start of files, directives (script, notify, since, import) are currently allowed at the start of any "block" (something that starts with a { and ends with a }, other than array literals). I believe this to be a bug/unintended behaviour, and here's why: script &...
  11. F

    Bug - Fixed Proxy records values return native java objects in javascript

    ProxyRecordMethodWrapper.call doesn't support return values that are neither Java classes, nor proxy records. There are currently two of those: stat and slot (and no proxy record currently returns a slot, and only 1 returns a stat, which is why this bug seems obscure) This causes...
  12. F

    Bug - Fixed Mafia autoselects choices in choice adv (build 20736)

    I think I found what is happening. In r20721, when Gausie added quantum terrarium support, he added QuantumTerrariumRequest.checkCounter( this ); at the start of response validations. Meaning that a new qterrarium.php request will be sent (if the qterrerium counter is expired) no matter what...
  13. F

    Bug - Fixed Imported files added to Parser.imports too late

    In order to prevent infinite loops in case of mutual imports, they need to be added BEFORE the parsing begins. Tested.
  14. F

    Feature ASH language server features

    Edit: this patch is now obsolete. Here's the first step, which also illustrates the kind of changes I was talking about Mafia currently does not care about anything in the original files other than the row at which each line was found. This is an attempt at making it save both the row and...
  15. F

    Feature ASH language server features

    Nice link you got there, btw
  16. F

    Feature ASH language server features

    The language server would be integrated into mafia. It "could" be something completely different, but doing it like this allows it to stay up-to-date. I initially thought that it would require a running instance of mafia, but we could simply make it possible to launch mafia with a different...
  17. F

    Feature ASH language server features

    Frankly, I don't know! We'll start by having it simply send warnings and errors (the only thing Parser currently does), then we'll go from there. Almost every feature will require an update of Parser to make it able to log where symbols and tokens are. We'll probably go for that, see what...
  18. F

    Feature ASH language server features

    LSP, Language Server Protocol, is, as the name says, just a protocol dictating broadly how the *communication* between a client and a server goes, but that's about right. The server gets from the client (for example, a VS Code extension) which file gets opened/when they get edited, when the...
  19. F

    Bug bug? pre-script statements available at start of any block

    There is no inherent flaw in this. The only impact would be with the Language Server support, making resolution way harder (since a script imported in a block inherits all the scope from outside that block), which, linking back to what I said about this not being an attempt at forcing a protocol...
Back
Top