starfixdev / starfix Goto Github PK
View Code? Open in Web Editor NEWUtility to easily open and operator on source code via url links from your browser
License: Apache License 2.0
Utility to easily open and operator on source code via url links from your browser
License: Apache License 2.0
Empty arguement doesn't trigger picocli help.
navigator.registerProtocolHandler
Hello, I'm new to the project and while running the ./mvnw compile quarkus:dev
maven command on Windows 10, the test testEcho() fails when the assertion seems to be satisfied with the same values. Does the assertion want the values to be different? I'm confused.
Please find below the error log:
2023-01-27 22:48:48,036 ERROR [io.qua.test] (Test runner thread) ==================== TEST REPORT #1 ====================
2023-01-27 22:48:48,041 ERROR [io.qua.test] (Test runner thread) Test StarfixTest#testEcho() failed
: org.opentest4j.AssertionFailedError: Echo Random String ==> expected: <This is some random String that I want to Echo
but was: <This is some random String that I want to Echo
at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:55) at org.junit.jupiter.api.AssertionUtils.failNotEqual(AssertionUtils.java:62) at org.junit.jupiter.api.AssertEquals.assertEquals(AssertEquals.java:182) at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1152) at dev.starfix.StarfixTest.testEcho(StarfixTest.java:43)
Thanks!
default configuration
after i configured the custom configuration using cli, command: starfix config
~/.config/starfix.yaml
file for reset.installer->starfix.cmd
to installer->Starfix->starfix.cmd
Without initially setting the two Starfix configurable properties:- cloning path and preferred editor, using the starfix config
command, the browser extension doesn't actually do anything.
Starfix should be first configured. i.e. If you click on the link Open in IDE in the browser, it should open a window to configure your IDE and preferred editor first before going ahead.
Setup mechanism for tracking the changelogs(feature updates, bug fixes ) for each release and maintaining it with version history. Would be good if the latest changelog is included in the readme file under a heading like [What's New @v2.1.1]
Is there any plan for migrating from Manifest V2 to Manifest V3 soon for Google Chrome Extension.
Manifest version 2 is deprecated, and support will be removed in 2023
such message is showing up while i am trying to load manifest file in my Chrome.
The transition of Chrome extensions to Manifest V3 blog,
should update readme/code etc. to use starfix.
things like:
starfish becomes starfix
dk.xam -> dev.starfix
starfix https://github.com/hexsum/Mojo-Webqq/blob/master/script/check_dependencies.pl#L17
fails with
starfix https://github.com/hexsum/Mojo-Webqq/blob/master/script/check_dependencies.pl#L17
java.lang.IllegalArgumentException: Not a valid URI for git repository
at dev.starfix.Starfix.cloneCmd(Starfix.java:53)
at dev.starfix.Starfix.run(Starfix.java:131)
at picocli.CommandLine.executeUserObject(CommandLine.java:1919)
at picocli.CommandLine.access$1100(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
shuold not fail optimally open on that line if possible.
code
if he wants to use VSCode) in addition to the existing Ide . Offcourse, then we need to think about the launch command format in that case . For that we can use use a common launch format (ide_name path/to/directory
) which is used by most of the Ide/Editor. If there's even more robust solution to this then we could use that too .setup workflow that on git tag v
* (i.e. git tag v0.0.1) builds and create a draft release.
see https://github.com/jbangdev/jbang/blob/master/.github/workflows/tag-and-release.yml as an example
another issue - spaces https://github.com/maxandersen/reallyevil/blob/main/here%20is%20a%20space.txt
Originally posted by @maxandersen in #61 (comment)
emacsclient uses "emacsclient +4 info.txt" to open info.txt on line 4.
Unable to execute config command on the generated Native Binary after merging the jbagify [PR] (#50) from @maxandersen .
On Screen Logs :
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class dev.starfix.Starfix$Config and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1277)
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400)
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:71)
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4407)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3602)
at dev.starfix.Starfix.editConfig(Starfix.java:196)
at dev.starfix.Starfix.config(Starfix.java:39)
at java.lang.reflect.Method.invoke(Method.java:566)
at picocli.CommandLine.executeUserObject(CommandLine.java:1952)
at picocli.CommandLine.access$1100(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2332)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2326)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2291)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2159)
at io.quarkus.picocli.runtime.PicocliRunner$EventExecutionStrategy.execute(PicocliRunner.java:26)
at picocli.CommandLine.execute(CommandLine.java:2058)
at io.quarkus.picocli.runtime.PicocliRunner.run(PicocliRunner.java:39)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:113)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:61)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:38)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:30)
I tried to run Starfix Native Binary using : ./starfix
(on : macOS Catalina, Version 10.15.7)
It failed to run and gave the following .
./starfix config
2021-08-06 17:26:12,435 ERROR [io.qua.run.Application] (main) Failed to start application (with profile prod): java.lang.NoSuchMethodException: dev.starfix.YAMLDefaultProvider.<init>()
at java.lang.Class.getConstructor0(DynamicHub.java:3349)
at java.lang.Class.getDeclaredConstructor(DynamicHub.java:2553)
at picocli.CommandLine$DefaultFactory.create(CommandLine.java:5489)
at io.quarkus.picocli.runtime.PicocliBeansFactory.create(PicocliBeansFactory.java:16)
at picocli.CommandLine$DefaultFactory.create(CommandLine.java:5512)
at picocli.CommandLine$DefaultFactory.createDefaultValueProvider(CommandLine.java:5503)
at picocli.CommandLine$Model$CommandSpec.initDefaultValueProvider(CommandLine.java:7229)
at picocli.CommandLine$Model$CommandSpec.updateCommandAttributes(CommandLine.java:7218)
at picocli.CommandLine$Model$CommandReflection.extractCommandSpec(CommandLine.java:11392)
at picocli.CommandLine$Model$CommandSpec.forAnnotatedObject(CommandLine.java:6202)
at picocli.CommandLine.<init>(CommandLine.java:227)
at picocli.CommandLine.<init>(CommandLine.java:221)
at io.quarkus.picocli.runtime.DefaultPicocliCommandLineFactory.create(DefaultPicocliCommandLineFactory.java:43)
at io.quarkus.picocli.runtime.DefaultPicocliCommandLineFactory_ClientProxy.create(DefaultPicocliCommandLineFactory_ClientProxy.zig:155)
at io.quarkus.picocli.runtime.PicocliCommandLineProducer.picocliCommandLine(PicocliCommandLineProducer.java:23)
at io.quarkus.picocli.runtime.PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.create(PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.zig:161)
at io.quarkus.picocli.runtime.PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.get(PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.zig:191)
at io.quarkus.picocli.runtime.PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.get(PicocliCommandLineProducer_ProducerMethod_picocliCommandLine_9215511af8bf79a5b9761758f9829960bca3fec0_Bean.zig:226)
at io.quarkus.picocli.runtime.PicocliRunner_Bean.create(PicocliRunner_Bean.zig:212)
at io.quarkus.picocli.runtime.PicocliRunner_Bean.get(PicocliRunner_Bean.zig:270)
at io.quarkus.picocli.runtime.PicocliRunner_Bean.get(PicocliRunner_Bean.zig:305)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:433)
at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:446)
at io.quarkus.arc.impl.BeanManagerImpl.getReference(BeanManagerImpl.java:59)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:119)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:30)
ide://..
ide://https://github.com/user-name/repo.git
with jbang v0.47 we can now write apps with multiple source files and resources.
starfix is at t he right level of small app that could benefit from this + would give jbang a nice usecase to see what works what does not.
will try collect what we use from maven that we absolutely need and which we can throw away.
shouldn't starfix be okey user enters ~/code
(i..e using tilde for user home?) as preferred clone path
right now we just have ide://<url to clone>
, but would be interesting to have stuff like ide://clone?repo=<url>
and ide://open?path=<url-to-file>
where open would clone if needed and open the file - if repo already cloned just open the file.
Similar could add things like ide://open?path=<url-to-file>&line=27
to open file and go to line 27.
Imagine the following:
you run an app or build in your terminal, ie. mvn package
and an error occurs and a stacktrace is shown.
Exception in thread "main" java.lang.NoClassDefFoundError: com/atlassian/fugue/Effect
at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68)
at com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.create(DefaultHttpClientFactory.java:35)
at com.atlassian.jira.rest.client.internal.async.AsynchronousHttpClientFactory.createClient(AsynchronousHttpClientFactory.java:63)
now in iterm2 you can actually setup regular expression to turn these stacktraces into hyperlinks.
would be interesting if we could support something like:
ide://open-stack-trace?stackline="com.atlassian.httpclient.apache.httpcomponents.DefaultHttpClientFactory.doCreate(DefaultHttpClientFactory.java:68)"
which would tell the IDE to search for DefaultHttpClientFactory.java and open it on line 68.
Not all editors would support this but at least eclipse, netbeans and vscode should technically be capable of doing it.
Add default config:
To create URI registry in windows we can create a starfish.reg file and run 'reg import starfish.reg' from cmd but it requires administrator rights
we can run following code from java program
Runtime.getRuntime().exec("reg import starfish.reg");
but it failed
I've tried multiple methods as
https://serverfault.com/questions/427368/command-line-switch-to-administrator-mode
https://superuser.com/questions/694761/how-to-run-cmd-with-admin-privileges-using-command-line
but failed
move mvn/quarkus project to /starfish-cli
and have /starfish-browser
folder for browser extension.
mvn package fails - it shouldn't as -Dnative not stated.
Apparently eclipse since 2020 June have eclipse+command url handler to run arbitrary commands similar to idea.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=530835
And https://twitter.com/mickaelistria/status/1418358164928483330?s=21
starfix https://github.com/jbangdev/jbang
should work just like git clone https://github.com/jbangdev/jbang
works with such url.
Hi, I am Ajeet and I have been looking around in order to install this Starfix tool as I find it very useful to clone and open a GitHub repo in a single command.
I read the installation instruction for Linux but I can't find the starfix-linux.zip file anywhere to download. I found the install file that was mentioned in the instructions inside /starfix/cli/installer/linux/installer/ . I executed the ./install command and it shows the error:-
I also want to contribute to this project, and this will be my first open-source contribution so forgive me if there is any format mistake in creating the issues. Any guideline tips for contributing would help me a lot.
Regards,
Ajeet.
output of runner is:
./target/starfix-1.0.0-SNAPSHOT-runner
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2020-08-15 22:48:51,912 INFO [io.quarkus] (main) starfix 1.0.0-SNAPSHOT (powered by Quarkus 1.4.2.Final) started in 0.008s.
2020-08-15 22:48:51,912 INFO [io.quarkus] (main) Profile prod activated.
2020-08-15 22:48:51,912 INFO [io.quarkus] (main) Installed features: [cdi]
No input provided!!
2020-08-15 22:48:51,912 INFO [io.quarkus] (main) starfix stopped in 0.000s
it should just be like a cli - thus need to turn of the logging and instead of No input provided!!
give a standard cli help output, something similar to:
Usage: starfix ...
Opens your file and project in any ide/editor.
-h, --help Display help/info
Commands:
...
...
can use picocli to make this happen automatically.
Publish Extension on Popular Web stores (Mozilla , Chrome Web Store) so that users can easy download them .
.conifg
directory we are using to store starfix configs (.config/starfix.yaml) may not be present on windows.starfix config
I got the following: -New configuration file will be created at: C:\Users\fahad\.config\starfix.yaml
java.io.IOException: The system cannot find the path specified
at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_io_IOException_2_0002e_0003cinit_0003e_00028Ljava_lang_String_2_00029V(JNIJavaCallWrappers.java:0)
at java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java)
at java.io.File.createNewFile(File.java:1026)
at dev.starfix.Starfix.editConfig(Starfix.java:154)
at dev.starfix.Starfix.config(Starfix.java:52)
at java.lang.reflect.Method.invoke(Method.java:566)
at picocli.CommandLine.executeUserObject(CommandLine.java:1972)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at io.quarkus.picocli.runtime.PicocliRunner$EventExecutionStrategy.execute(PicocliRunner.java:26)
at picocli.CommandLine.execute(CommandLine.java:2078)
at io.quarkus.picocli.runtime.PicocliRunner.run(PicocliRunner.java:39)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:123)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:66)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:42)
at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:30)
.config
directory if not exist while creating config .I followed the steps, but its not working, when i am typing starfix on command promt, its showing 'starfix' is not recognized as an internal or external command.
> once that is in place use of jreleaser which makes such publishing easily can be explored.
> one challenge is ensuring the url protocol handler gets configured so sdkman might not be able to do that. would need exploration.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.