jonathanbieler / gtkide.jl Goto Github PK
View Code? Open in Web Editor NEWA Gtk based IDE for Julia
License: Other
A Gtk based IDE for Julia
License: Other
When you press Tab in the editor with a selection, it doesn't indend correctly the selection, because it tries to auto-complete instead if the cursor is at the end of a word.
I have next problem on Ubuntu 16.04 (Julia Version 0.6.1):
julia> using GtkIDE
INFO: Precompiling module GtkIDE.
...
(julia:15370): GtkSourceView-ERROR **: Error while loading the completion UI: .:23:106 Invalid object type 'GtkSourceCompletionInfo'
ERROR: LoadError: Failed to precompile GtkSourceWidget to /home/x/.julia/lib/v0.6/GtkSourceWidget.ji.
Stacktrace:
[1] compilecache(::String) at ./loading.jl:710
[2] _require(::Symbol) at ./loading.jl:463
[3] require(::Symbol) at ./loading.jl:405
[4] include_from_node1(::String) at ./loading.jl:576
[5] include(::String) at ./sysimg.jl:14
[6] anonymous at ./<missing>:2
while loading /home/x/.julia/v0.6/GtkIDE/src/GtkIDE.jl, in expression starting on line 9
ERROR: Failed to precompile GtkIDE to /home/x/.julia/lib/v0.6/GtkIDE.ji.
Stacktrace:
[1] compilecache(::String) at ./loading.jl:710
[2] _require(::Symbol) at ./loading.jl:497
[3] require(::Symbol) at ./loading.jl:405
julia>
Julia commands in console worked
run_tests() executed
Menu item:
File / New crashed IDE + Terminal
File / Open: did not work
File / Quit: did not work
open filename in console: did not work
julia open "fizzbuzz.jl"
syntax: extra token """ after end of expressionjulia open fizzbuzz.jl
syntax: extra token "fizzbuzz" after end of expression
Thanks for the hard work!
I'm having an issue with the GtkSourceMap. I'm using Linux Mint 17.3.
ERROR: LoadError: LoadError: UndefVarError: @GtkSourceMap not defined
I'm evading it removing every mention of GtkSourceMap:
In the datatype of the sourcemap member of the Editor type and in:
if GtkSourceWidget.SOURCE_MAP #old linux libraries don't have GtkSourceMap - sourcemap = @GtkSourceMap() + sourcemap=nothing t = new(ntbook.handle,sourcemap) else - t = new(ntbook.handle) + t = new(ntbook.handle,nothing) end
I'm not sure how is the correct way to solve it.
Hi,
(julia.exe:77200): GtkSourceView-WARNING **: no color named 'white'
(julia.exe:77200): Gtk-WARNING **: Theme parsing error: <data>:3:17: Not using units is deprecated. Assuming 'px'.
WARNING: Method definition figure() in module Immerse at C:\j\.julia\v0.4\Immerse\src\display_gadfly.jl:245 overwritten in module
Main at C:\j\.julia\v0.4\GtkIDE\src\PlotWindow.jl:126.
WARNING: Method definition figure(Array) in module Immerse overwritten in module Main.
WARNING: Method definition figure(Integer) in module Immerse at C:\j\.julia\v0.4\Immerse\src\display_gadfly.jl:255 overwritten in
module Main at C:\j\.julia\v0.4\GtkIDE\src\PlotWindow.jl:143.
WARNING: Method definition figure(Array, Integer) in module Immerse overwritten in module Main.
WARNING: Method definition closefig(Integer) in module Immerse at C:\j\.julia\v0.4\Immerse\src\display_gadfly.jl:284 overwritten in module Main at C:\j\.julia\v0.4\GtkIDE\src\PlotWindow.jl:158.
(julia.exe:77200): GModule-CRITICAL **: g_module_symbol: assertion 'symbol != NULL' failed
(julia.exe:77200): GModule-CRITICAL **: g_module_symbol: assertion 'symbol != NULL' failed
ERROR: LoadError: LoadError: MethodError: `convert` has no method matching convert(::Type{Ptr{Gtk.GtkTreePath}}, ::Void)
This may have arisen from a call to the constructor Ptr{Gtk.GtkTreePath}(...),
since type constructors fall back to convert methods.
Closest candidates are:
call{T}(::Type{T}, ::Any)
convert{T}(::Type{Ptr{T}}, ::UInt64)
convert{T}(::Type{Ptr{T}}, ::Int64)
...
in call at C:\j\.julia\v0.4\Gtk\src\lists.jl:82
in update! at C:\j\.julia\v0.4\GtkIDE\src\FilesPanel.jl:243
while loading C:\j\.julia\v0.4\GtkIDE\src\SidePanels.jl, in expression starting on line 51
while loading C:\j\.julia\v0.4\GtkIDE\src\GtkIDE.jl, in expression starting on line 125
julia>
(julia.exe:77200): Gdk-WARNING **: Failed to OpenClipboard on window handle 0000000000611090
What do you think of using Gtk Builder to build the interface? I have not much experience with Gtk but I'm not a big fan of building GUIs using code.
In the devel branch of my fork I have an implementation that uses a .glade file to load the application interface. It looks like this:
If you like it I can refactor and make a pull request:
Hi,
The install instructions in the README, namely:
add Cairo
add Gadfly
add https://github.com/jonathanBieler/GtkExtensions.jl.git
add https://github.com/jonathanBieler/JuliaWordsUtils.jl.git
add https://github.com/jonathanBieler/GtkTextUtils.jl.git
add https://github.com/jonathanBieler/RemoteGtkREPL.jl.git
add https://github.com/jonathanBieler/GtkREPL.jl.git
add https://github.com/jonathanBieler/GtkIDE.jl.git
fails, returning the error:
ERROR: Unsatisfiable requirements detected for package Colors [5ae59095]:
Colors [5ae59095] log:
├─possible versions are: [0.9.0, 0.9.2-0.9.6, 0.10.0-0.10.2, 0.11.0-0.11.2, 0.12.0-0.12.4] or uninstalled
├─restricted by compatibility requirements with Immerse [2a4eff87] to versions: [0.9.0, 0.9.2-0.9.6, 0.10.0-0.10.2, 0.11.0-0.11.2]
│ └─Immerse [2a4eff87] log:
│ ├─possible versions are: [0.1.0-0.1.1, 1.0.0] or uninstalled
│ ├─restricted to versions * by GtkIDE [e3658df1], leaving only versions [0.1.0-0.1.1, 1.0.0]
│ │ └─GtkIDE [e3658df1] log:
│ │ ├─possible versions are: 0.1.0 or uninstalled
│ │ └─GtkIDE [e3658df1] is fixed to version 0.1.0
│ └─restricted by compatibility requirements with Gtk [4c0ca9eb] to versions: 1.0.0 or uninstalled, leaving only versions: 1.0.0
│ └─Gtk [4c0ca9eb] log:
│ ├─possible versions are: [0.16.0-0.16.5, 0.17.0, 0.18.0, 1.0.0, 1.1.0-1.1.5] or uninstalled
│ ├─restricted to versions * by GtkIDE [e3658df1], leaving only versions [0.16.0-0.16.5, 0.17.0, 0.18.0, 1.0.0, 1.1.0-1.1.5]
│ │ └─GtkIDE [e3658df1] log: see above
│ └─restricted to versions 1 by GtkExtensions [d2dfcb8f], leaving only versions [1.0.0, 1.1.0-1.1.5]
│ └─GtkExtensions [d2dfcb8f] log:
│ ├─possible versions are: 0.0.0 or uninstalled
│ ├─restricted to versions * by GtkIDE [e3658df1], leaving only versions 0.0.0
│ │ └─GtkIDE [e3658df1] log: see above
│ └─GtkExtensions [d2dfcb8f] is fixed to version 0.0.0
├─restricted by compatibility requirements with Compose [a81c6b42] to versions: [0.9.0, 0.9.2-0.9.6]
│ └─Compose [a81c6b42] log:
│ ├─possible versions are: [0.6.1, 0.7.0-0.7.4, 0.8.0-0.8.2, 0.9.0-0.9.1] or uninstalled
│ └─restricted by compatibility requirements with Immerse [2a4eff87] to versions: 0.7.3-0.7.4
│ └─Immerse [2a4eff87] log: see above
└─restricted by compatibility requirements with FixedPointNumbers [53c48c17] to versions: [0.10.0-0.10.2, 0.11.0-0.11.2, 0.12.0-0.12.4] or uninstalled — no versions left
└─FixedPointNumbers [53c48c17] log:
├─possible versions are: [0.5.0-0.5.3, 0.6.0-0.6.1, 0.7.0-0.7.1, 0.8.0-0.8.4] or uninstalled
└─restricted by compatibility requirements with Immerse [2a4eff87] to versions: 0.7.0-0.7.1
└─Immerse [2a4eff87] log: see above
Is this part of the reason why there's been no development in about six months? Namely, that some of this package's upstream dependencies are now inadequately maintained, making it difficult to properly maintain this package.
It would be a shame, I like the idea behind this IDE, namely that the IDE for Julia should be written in Julia itself. It makes a lot of sense for Julia, given Julia is general-purpose and fast, that its IDE should be written in itself, especially since that makes it easier for users to contribute to the project as they're automatically going to be familiar with the language the IDE is written in.
Thanks for your time.
pkg> add https://github.com/jonathanBieler/GtkSourceWidget.jl.git
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Cloning git-repo `https://github.com/jonathanBieler/GtkSourceWidget.jl.git`
Updating git-repo `https://github.com/jonathanBieler/GtkSourceWidget.jl.git`
Resolving package versions...
Updating `~/teste/GtkIDE/Project.toml`
[c2b0df9c] ~ GtkSourceWidget v0.1.0 [`~/.julia/dev/GtkSourceWidget`] ⇒ v0.1.0 #master (https://github.com/jonathanBieler/GtkSourceWidget.jl.git)
Updating `~/teste/GtkIDE/Manifest.toml`
[c2b0df9c] ~ GtkSourceWidget v0.1.0 [`~/.julia/dev/GtkSourceWidget`] ⇒ v0.1.0 #master (https://github.com/jonathanBieler/GtkSourceWidget.jl.git)
Building GtkSourceWidget → `~/.julia/packages/GtkSourceWidget/upzqB/deps/build.log`
┌ Error: Error building `GtkSourceWidget`:
│ ERROR: LoadError: LoadError: UndefVarError: is_linux not defined
│ Stacktrace:
│ [1] top-level scope at none:0
│ [2] eval at ./boot.jl:328 [inlined]
│ [3] @static(::LineNumberNode, ::Module, ::Any) at ./osutils.jl:19
│ [4] include at ./boot.jl:326 [inlined]
│ [5] include_relative(::Module, ::String) at ./loading.jl:1038
│ [6] include(::Module, ::String) at ./sysimg.jl:29
│ [7] include(::String) at ./client.jl:403
│ [8] top-level scope at none:0
│ in expression starting at /home/luis/.julia/packages/GtkSourceWidget/upzqB/deps/build.jl:2
│ in expression starting at /home/luis/.julia/packages/GtkSourceWidget/upzqB/deps/build.jl:2
│ checking for libgtksourceview...
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075
Hello, just for info, I have successfully tested the native compilation for GtkIDE using static-julia
Work on my Laptop Mint17 and Julia v0.6 here
I really like your work on GtkIDE and hope it will continue to evolve, congratulations
WARNING: Method definition closefig(Integer) in module Immerse at /home/kjwiik/.julia/v0.4/Immerse/src/display_gadfly.jl:284 overwritten in module Main at /home/kjwiik/.julia/v0.4/GtkIDE/src/PlotWindow.jl:158.
ERROR: LoadError: MethodError: convert has no method matching convert(::Type{Immerse.Figure})
This may have arisen from a call to the constructor Immerse.Figure(...),
since type constructors fall back to convert methods.
Closest candidates are:
convert{T}(::Type{T}, ::T)
Immerse.Figure(, ::Gtk.GtkCanvas)
Immerse.Figure(, ::Gtk.GtkCanvas, ::Gadfly.Plot)
...
in figure at /home/kjwiik/.julia/v0.4/GtkIDE/src/PlotWindow.jl:127
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:320
in require at ./loading.jl:259
while loading /home/kjwiik/.julia/v0.4/GtkIDE/src/GtkIDE.jl, in expression starting on line 171
julia>
julia> versioninfo()
Julia Version 0.4.5
Commit 2ac304d (2016-03-18 00:58 UTC)
Platform Info:
System: Linux (x86_64-unknown-linux-gnu)
CPU: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Nehalem)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.3
I followed the instructions (checkout). It is strange that versioninfo()
returns nothing after trying to start GtkIDE...
This was on a 64bit machine, with Julia 0.4.2.
When doing: using GtkIDE
I got the following error:
INFO: Precompiling module Gtk...
ERROR: LoadError: LoadError: UndefVarError: libgtksourceview not defined
in include at boot.jl:261
in include_from_node1 at loading.jl:304
in require at loading.jl:243
in include at boot.jl:261
in include_from_node1 at loading.jl:304
in require at loading.jl:243
while loading C:\Users\CVO.julia\v0.4\GtkSourceWidget\src\GtkSourceWidget.jl, i
n expression starting on line 56
while loading C:\Users\CVO.julia\v0.4\GtkIDE\src\GtkIDE.jl, in expression start
ing on line 29
Thanks
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.