# Julia support for Geany (WIP)

**URL:** https://discourse.julialang.org/t/julia-support-for-geany-wip/52676
**Category:** Tooling
**Tags:** announcement
**Created:** [January 1, 2021, 12:29am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676 "2021-01-01T00:29:45Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![AndiMD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andimd/32/6531_2.png) [@AndiMD](https://discourse.julialang.org/u/AndiMD)
#### Post date: [January 1, 2021, 12:29am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/1 "2021-01-01T00:29:45Z")

</div>

Dear community,

thanks to efforts by @getzze, Julia support is coming to Geany. Geany is a lighweight crossplatform IDE that is somewhere between VIM and vscode.

Feedback / testers / contributers welcome!

[https://github.com/geany/geany/pull/2584](https://github.com/geany/geany/pull/2584)

Happy new year!  
Andreas

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [January 1, 2021, 4:10am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/2 "2021-01-01T04:10:02Z")

</div>

If that works, then Julia is available through Scintilla in a bunch of other editors as well.

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [January 1, 2021, 4:43pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/3 "2021-01-01T16:43:39Z")

</div>

Thanks so much for posting this! I love geany and getting proper julia support will be great!

---

<div class="post-metadata">

### Author: ![AndiMD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andimd/32/6531_2.png) [@AndiMD](https://discourse.julialang.org/u/AndiMD)
#### Post date: [January 5, 2021, 7:02pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/4 "2021-01-05T19:02:01Z")

</div>

Thanks for the positive feedback!

REPL-style UTF-8 auto-completions like `\:cat:<tab>` work with a modified `wordchars` and `[Julia]` section in your `snippets.conf`:

[https://github.com/AndiMD/geany/blob/julia\_lexer/data/snippets.conf](https://github.com/AndiMD/geany/blob/julia_lexer/data/snippets.conf)

---

<div class="post-metadata">

### Author: ![getzze](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/getzze/32/5551_2.png) [@getzze](https://discourse.julialang.org/u/getzze)
#### Post date: [January 14, 2022, 2:58pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/5 "2022-01-14T14:58:20Z")

</div>

Just an update on that, Julia is supported by Geany since version 1.38!  
[https://github.com/geany/geany/releases/tag/1.38.0](https://github.com/geany/geany/releases/tag/1.38.0)  
Support for Scintilla was also added:  
[https://github.com/ScintillaOrg/lexilla/pull/13](https://github.com/ScintillaOrg/lexilla/pull/13)

Enjoy!

---

<div class="post-metadata">

### Author: ![TheLateKronos](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thelatekronos/32/12824_2.png) [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)
#### Post date: [January 15, 2022, 9:20am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/6 "2022-01-15T09:20:50Z")

</div>

That is fantastic! Thanks.  
I was just yesterday on my way to learn vim, to use it as an IDE on my Raspberry Pi. With Geany comming pre-installed, and with a friendlier look than vim, this is just perfect.

---

<div class="post-metadata">

### Author: ![TheLateKronos](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thelatekronos/32/12824_2.png) [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)
#### Post date: [January 16, 2022, 6:57am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/7 "2022-01-16T06:57:19Z")

</div>

So it turns out that the Geany version on my raspberry is 1.37. When I tried upgrading, it said that I have the latest version. When I tried to google my problems, I read something about debian having a conservative release cycle, and that it can take up to 2 years before the version that is automatically installed is updated.

But this is all my first time using Linux. Do you have any idea when it should be possible to update the pre-installed Geany version on Rasberry Pi OS (Raspian) ?

---

<div class="post-metadata">

### Author: ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)
#### Post date: [January 16, 2022, 7:15am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/8 "2022-01-16T07:15:54Z")

</div>

The short answer is that unfortunately, if you want the newest version you will need to compile it yourself. I did it specifically for this feature, and it’s not too hard (it took me about an hour). The TLDR of the steps is

1. Install the dependencies. For me, this was the hardest part
2. Download the source code
3. configure and make  
[Geany](https://www.geany.org/manual/current/index.html#source-compilation) has somewhat detailed instructions. Feel free to ask me if you have any questions.

---

<div class="post-metadata">

### Author: ![TheLateKronos](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thelatekronos/32/12824_2.png) [@TheLateKronos](https://discourse.julialang.org/u/TheLateKronos)
#### Post date: [January 16, 2022, 1:44pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/9 "2022-01-16T13:44:19Z")

</div>

Thanks for your helpfullness. Ill see if I get arpund to it. Also concidering giving Vim a go, but it seems difficult to get running. Probably easier to build Geany myself xD

---

<div class="post-metadata">

### Author: ![Edward\_Montague](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/edward_montague/32/28803_2.png) [@Edward\_Montague](https://discourse.julialang.org/u/Edward_Montague)
#### Post date: [July 18, 2023, 10:49pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/10 "2023-07-18T22:49:15Z")

</div>

Hello fellow coders

I’ve used Julia previously, presently  
though, I’m attempting to set up three  
IDES .  
In particular; VSCode, Codium and Geany.

As I’m using Ubuntu, for Geany I’ve set  
the Edit,Preferences,Tools,Terminal to:  
gnome-terminal -e “/bin/sh %c”

As I have libvte installed I set  
Edit,Preferences,Terminal to:  
Execute programs in the VTE

Now having done that I’m able to run the following  
Julia script in Geany :

using Random

using GLMakie  
GLMakie.activate!()  
Makie.inline!(false) # Probably unnecessary?

function scatters\_in\_3D()  
Random.seed!(123)  
n = 10  
x, y, z = randn(n), randn(n), randn(n)  
aspect=(1, 1, 1)  
perspectiveness=0.5  
# the figure  
fig = Figure(; resolution=(1200, 400))  
ax1 = Axis3(fig[1, 1]; aspect, perspectiveness)  
ax2 = Axis3(fig[1, 2]; aspect, perspectiveness)  
ax3 = Axis3(fig[1, 3]; aspect=:data, perspectiveness)  
scatter!(ax1, x, y, z; markersize=15)  
meshscatter!(ax2, x, y, z; markersize=0.25)  
hm = meshscatter!(ax3, x, y, z; markersize=0.25,  
marker=Rect3f(Vec3f(0), Vec3f(1)), color=1:n,  
colormap=:plasma, transparency=false)  
Colorbar(fig[1, 4], hm, label=“values”, height=Relative(0.5))  
colgap!(fig.layout, 5)  
display(fig)  
end

scatters\_in\_3D()

sleep(200) # may not be necessary

However this Julia script, within Geany,  
doesn’t produce the expected graphical output :

using FileIO  
using GLMakie

brain = load(assetpath(“brain.stl”))  
GLMakie.activate!(inline=false)  
fig = Figure(; resolution = (1000, 1000))  
fig.mesh(  
brain,  
color = [tri[1][2] for tri in brain for i in 1:3],  
colormap = Reverse(:Spectral),  
figure = (resolution = (1000, 1000),)  
)  
#msh  
display(fig)

sleep(200) # may not be necessary

exit()

Likely due to my unfamiliarity with the mesh  
command.  
Any suggestions ?

---

<div class="post-metadata">

### Author: ![Edward\_Montague](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/edward_montague/32/28803_2.png) [@Edward\_Montague](https://discourse.julialang.org/u/Edward_Montague)
#### Post date: [July 19, 2023, 6:48am UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/11 "2023-07-19T06:48:38Z")

</div>

This code now runs mostly as expected.

Upon closing the window though, the exit() command doesn’t  
return the vte terminal to the base directory; how do I do this  
from within the code.

# brainy

#using Shell  
#useshell(“powershell”)  
#run(“ls”)

using FileIO  
using GLMakie  
GLMakie.activate!()  
Makie.inline!(false) # Probably unnecessary?  
using Random

brain = load(assetpath(“brain.stl”))

function fxyz()

mesh(  
brain,  
color = [tri[1][2] for tri in brain for i in 1:3],  
colormap = Reverse(:Spectral),  
figure = (resolution=(1000, 1000),)  
)

end  
#begin  
fig=fxyz()  
display(fig)  
wait()  
#sleep()  
#exit()

#end

---

<div class="post-metadata">

### Author: ![Edward\_Montague](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/edward_montague/32/28803_2.png) [@Edward\_Montague](https://discourse.julialang.org/u/Edward_Montague)
#### Post date: [July 19, 2023, 8:15pm UTC](https://discourse.julialang.org/t/julia-support-for-geany-wip/52676/12 "2023-07-19T20:15:29Z")

</div>

The previous code runs okay even if you don’t use vte and  
just stay with gnome-terminal.

At least you’re able to exit that terminal by just clicking the close  
tab.
