LuaLS / LuaLS/lua-language-server

`@language` tag for embedding other languages in a string

Ouverte
#2,925 2 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Lua
Étoiles
4.4k
Forks
442
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

In a few places in factorio's API we have a lua string that contains code (sometimes more lua code, sometimes our noise-expression language), and it woudl be nice to be able to activate language features for these via embedded language tags, something like

local simulation = {
  ---@language lua
  init = [[
    local bp="0eNq1lVtugzAQRfcy36aKzZu/dBtVhIA47UhgkDFRoogFdCHdWFdSG9QEKYRH1fwgbMbncsejmQukecMriUJBdAHMSlFD9HaBGt9Fkps9da44RICKF0BAJIVZCTwht1STcmgJoNjzE0S03RHgQqFC3lO6xTkWTZFyqQPGzhOoylofKYVR0xjLeXEJnPULa1tyB2HLIO4kxF4GYZMQZxnEnoS4yyCbG4SAviUlyzxO+UdyxFKaoAxl1qCK9bf99eQBZa3iu7s8olSN3rlK9xHWFnp4rRJTDxajju8EtucEZruoEpkoowbfn1/Q9rGCZ0atNnhqHpLvh3ePekXtdteOmfeWmaeTGfRHIFZdJHk+VVs6oWOwYA3MnoGFa2BsBkY3a2h0jkbX0DZD2vPq7/VZ9cce1B+9NZNfWUsLpSg6obtEsPk8HDBXXD5oojPGG+OaMttxPT8Ih311hVf6yKv9R6/0f71u77z+zajb+dQTp5tM0WCQETjqv+qcsECXUMh8FgaB5+v28QOiY0wL"
    game.tick_paused = false
    game.simulation.camera_alt_info = true
    local result = {game.surfaces[1].create_entities_from_blueprint_string
    {
      string = bp,
      position = {0, 0},
    }}
    remote.call("nixie-tubes", "RebuildNixies")
  ]],
}
local noise = {
    type = "noise-expression",
    name = "enemy_base_frequency",
    ---@language factorio-noise
    expression = "(0.00001 + 0.000003 * enemy_base_intensity) * var('control:enemy-base:frequency')"
  }

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par les exemples de l'issue et le guide lié de VS Code sur les langages intégrés. Comme aucun fichier du dépôt, test ou point d'entrée n'est nommé, commencez par localiser la façon dont le contenu des chaînes Lua est actuellement analysé et diagnostiqué. Le travail est terminé lorsque les balises @language proposées activent les fonctionnalités de langage appropriées pour les chaînes Lua intégrées et factorio-noise.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
lua
Domaine
developer-experience
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.