[Ann] BashSupport 0.8.6

I just released version 0.8.6 of BashSupport.
I now supports files without extensions. You need to turn on the configuration option for this to make it work.

As always, feedback and suggestions are much appreciated.

I originally wanted to participate in the next plugin contest with BashSupport. I should have read the submission guidelines before, though
Anyway, I think it's still a useful plugin.

Wallaby

Changelog:

  • Global configuration option to accept files without extension
  • Support for variable references like ${a}
  • Support for append, i.e. a+="a"
  • Bugfix: Rename refactoring for a=1
  • Fixed verbose info messages in the log file
8 comments
Comment actions Permalink

I just released version 0.8.6 of BashSupport.

Thank you for the update :).

As always, feedback and suggestions are much appreciated.

- Better formatting of the Ctrl+Q (quick help) window text
- Also in the Ctrl+Q window: link to the web to some accepted
documentation where the item is handled in more detail
- Also in Ctrl+Q window: better doc for some commands, and possibly
support more commands/programs
- possibility to "fetch" this documentation directly from the system and
cache it (not hard code it) - this would help avoid implementation
differences

- support for collapse blocks. Very important would be to be able to
collapse the initial comment (that is mostly the license agreement in
many projects)

- "Run bash file" (with a predefined environment) (would need to allow
do define a Run type too for this).
- Structure view - to see at least the variables present/used in a bash
file.

I originally wanted to participate in the next plugin contest with BashSupport.
I should have read the submission guidelines before, though

There are many other unsupported languages in IntelliJ that could still
benefit from a smart plug-in :), so there's room for the next contest
too :), e.g.:
- DOS Batch support like your plug-in (so something much better than
this: http://plugins.intellij.net/plugin/?id=265)
- other general purpose languages: TCL, Perl, Lisp

Anyway, I think it's still a useful plugin.

It is a very useful plug-in :). Most developers don't use bash all the
time, and because of this, when they need to do something quickly after
months of not using it, it's quite hard: here comes your plug-in and
makes life easier :).

0
Comment actions Permalink

wallaby.pouch wrote:

I originally wanted to participate in the next plugin contest with BashSupport. I should have read the submission guidelines before, though
Anyway, I think it's still a useful plugin.

Given the pretty mediocre turnout for the last plugin contest, I'm kind
of hoping that, this year, Jetbrains will allow all plugins released
since the end of the last competition to be entered. My plugin
development opportunities are very sporadic, and last year I found I
couldn't really fit into the contest's schedule. Also, people will
naturally delay implementing ideas until the contest is started, which
isn't very good for users either.
N.

0
Comment actions Permalink

- good code is red: plugin doesn't support for's three-expression style?
- ctrl+q doesn't work over second for
- documentation on ctrl+q over first for is messed up
- no support for variables within double quotes...


#!/bin/bash

echo "bash sequence"
for i in {1..5}
do
   echo "Welcome $i times"
done

echo
echo "three-expression style"
for (( c=1; c<=5; c++ ))
do
    echo "Welcome $c times..."
done

0
Comment actions Permalink

Hi,

The latest version of the plugin swamps IDEA log with messages like this:

2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,214 [ 145703]   INFO -           #bash.FileTypeLoader - checking file String.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Enum.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Enum.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Enum.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class
2009-05-20 17:06:28,229 [ 145718]   INFO -           #bash.FileTypeLoader - checking file Date.class

I also noticed an exception on IDEA shutdown:

2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - null
java.lang.NullPointerException
at com.ansorgit.plugins.bash.settings.BashSettingsConfigurable.disposeComponent(BashSettingsConfigurable.java:31)
at com.intellij.openapi.components.impl.ComponentManagerImpl.disposeComponents(ComponentManagerImpl.java:40)
at com.intellij.openapi.application.impl.ApplicationImpl.dispose(ApplicationImpl.java:201)
at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:38)
at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:36)
at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:111)
at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:93)
at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:125)
at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:93)
at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:114)
at com.intellij.openapi.util.Disposer.dispose(Disposer.java:95)
at com.intellij.openapi.util.Disposer.dispose(Disposer.java:91)
at com.intellij.openapi.application.impl.ApplicationImpl.d(ApplicationImpl.java:362)
at com.intellij.openapi.application.impl.ApplicationImpl.access$100(ApplicationImpl.java:264)
at com.intellij.openapi.application.impl.ApplicationImpl$10.run(ApplicationImpl.java:2)
at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:305)
at com.intellij.openapi.application.impl.ApplicationImpl.exit(ApplicationImpl.java:300)
at com.intellij.openapi.wm.impl.IdeFrameImpl$1$1.run(IdeFrameImpl.java:9)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:16)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:35)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:99)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:217)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - IntelliJ IDEA 8.1.1  Build #9833
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - JDK: 1.6.0_12
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - VM: Java HotSpot(TM) Client VM
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - Vendor: Sun Microsystems Inc.
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - OS: Windows XP
2009-05-20 17:02:24,481 [17902839]  ERROR - ij.components.ComponentManager - Last Action: CheckStyleCurrentFileAction

0
Comment actions Permalink

Hi,
thanks for the feedback.

The code you posted will work in the next update.
Ctrl+Q will be fixed, as well.

What do you mean by "documentation on ctrl+q over first for is messed up"? Some details would be great.

Variables in double quotes in planned, but I don't know yet how to implement this

Regards,
Wallaby

0
Comment actions Permalink

Hi,
thanks for the feedback!

Both errors will be fixed in the next release.

Wallaby

0
Comment actions Permalink

Hi,
thanks a lot for the detailed feedback!

Better formatting of the Ctrl+Q (quick help) window text

Planned. I need to find a good way to automatically do this, though.

Also in the Ctrl+Q window: link to the web to some accepted documentation where the item is handled in more detail

Good idea. Will be available in a later update, I think (if I can find a good online source for the bash help and the man pages).

Also in Ctrl+Q window: better doc for some commands, and possibly support more commands/programs

To which commands do you refer to? Atm it's the converted "help" or "man" content. Which commands are missing for you?

possibility to "fetch" this documentation directly from the system and cache it (not hard code it) - this would help avoid implementation difference

Planned. Will be very time consuming though. For this I'd need to write a man page / troff parser in Java to make it work on all system.

support for collapse blocks. Very important would be to be able to collapse the initial comment (that is mostly the license agreement in many projects)

Good idea! Noted for a later update.

"Run bash file" (with a predefined environment) (would need to allow do define a Run type too for this).

Planned. Not yet done due to a lack of OpenApi documentation and good examples

Structure view - to see at least the variables present/used in a bash file.

Structure views is already available for functions. I avoided variables in it so far, though. Will think about this.

Wallaby

0
Comment actions Permalink

> What do you mean by
ups, i forgot, or maybe all is good in 0.8.7

0

Please sign in to leave a comment.