intellij-quarkus icon indicating copy to clipboard operation
intellij-quarkus copied to clipboard

FR: Please add application.yaml support additionally to application.properties

Open Hubbitus opened this issue 2 years ago • 4 comments

YAML syntax much more convenient.

Please add it support in development plugin.

Hubbitus avatar Oct 31 '23 19:10 Hubbitus

Sorry, it was supposed to work, but I just checked and indeed, it doesn't. We'll look into it.

fbricon avatar Nov 02 '23 10:11 fbricon

@Hubbitus does your build descriptor reference io.quarkus:quarkus-config-yaml ?

So, typing a key quickly in application.yml triggers some nasty SnakeYAML exceptions:

Error while getting last modified time for 'file:///Users/fbricon/Dev/souk/yamelized/src/main/resources/application.yml'.

while scanning a simple key
 in 'reader', line 3, column 3:
      toto:"
      ^
could not find expected ':'
 in 'reader', line 4, column 1:
    quarkus:
    ^

	at org.yaml.snakeyaml.scanner.ScannerImpl.stalePossibleSimpleKeys(ScannerImpl.java:505)
	at org.yaml.snakeyaml.scanner.ScannerImpl.needMoreTokens(ScannerImpl.java:320)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:250)
	at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:628)
	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166)
	at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:59)
	at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:45)
	at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:140)
	at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:119)
	at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:214)
	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:184)
	at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:314)
	at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:305)
	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:286)
	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:188)
	at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:314)
	at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:305)
	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:286)
	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:188)
	at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:115)
	at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:142)
	at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:151)
	at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:491)
	at org.yaml.snakeyaml.Yaml.load(Yaml.java:429)
	at com.redhat.devtools.intellij.quarkus.psi.internal.utils.YamlUtils.loadYamlAsProperties(YamlUtils.java:42)
	at com.redhat.devtools.intellij.quarkus.psi.internal.providers.YamlConfigSource.loadConfig(YamlConfigSource.java:43)
	at com.redhat.devtools.intellij.quarkus.psi.internal.providers.YamlConfigSource.loadConfig(YamlConfigSource.java:34)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.AbstractConfigSource.getConfig(AbstractConfigSource.java:176)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.AbstractConfigSource.init(AbstractConfigSource.java:81)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.AbstractConfigSource.<init>(AbstractConfigSource.java:77)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.AbstractConfigSource.<init>(AbstractConfigSource.java:63)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.AbstractConfigSource.<init>(AbstractConfigSource.java:59)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PropertiesConfigSource.<init>(PropertiesConfigSource.java:42)
	at com.redhat.devtools.intellij.quarkus.psi.internal.providers.YamlConfigSource.<init>(YamlConfigSource.java:37)
	at com.redhat.devtools.intellij.quarkus.psi.internal.providers.QuarkusConfigSourceProvider.createConfigSource(QuarkusConfigSourceProvider.java:74)
	at com.redhat.devtools.intellij.quarkus.psi.internal.providers.QuarkusConfigSourceProvider.getConfigSources(QuarkusConfigSourceProvider.java:58)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PsiMicroProfileProject.loadConfigSources(PsiMicroProfileProject.java:245)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PsiMicroProfileProject.getConfigSources(PsiMicroProfileProject.java:184)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PsiMicroProfileProject.findConfigSource(PsiMicroProfileProject.java:220)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PsiMicroProfileProject.evictConfigSourcesCache(PsiMicroProfileProject.java:194)
	at com.redhat.devtools.intellij.lsp4mp4ij.psi.core.project.PsiMicroProfileProjectManager$MicroProfileProjectListener.sourceFilesChanged(PsiMicroProfileProjectManager.java:66)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:649)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:625)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:399)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:378)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:437)
	at jdk.proxy7/jdk.proxy7.$Proxy148.sourceFilesChanged(Unknown Source)
	at com.redhat.devtools.intellij.lsp4mp4ij.classpath.ClasspathResourceChangedNotifier.notifyChanges(ClasspathResourceChangedNotifier.java:110)
	at com.redhat.devtools.intellij.lsp4mp4ij.classpath.ClasspathResourceChangedNotifier$1.run(ClasspathResourceChangedNotifier.java:88)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)

fbricon avatar Nov 02 '23 17:11 fbricon

I don't understand, which features are broken? It seems it is working for me:

image

angelozerr avatar Nov 06 '23 22:11 angelozerr