Giter Site home page Giter Site logo

araq / nimedit Goto Github PK

View Code? Open in Web Editor NEW
90.0 90.0 13.0 928 KB

NimEdit is the new upcoming slim IDE/editor for the Nim programming language. Currently it is hardly usable at all! It's been open sourced in the hope it will speed up its development process.

Home Page: https://nim-lang.org/nimedit/

License: MIT License

Nim 100.00%

nimedit's People

Contributors

araq avatar dom96 avatar juancarlospaco avatar lou15b avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nimedit's Issues

Replace console with something better

  • Command history is bonkers.
  • Takes up lost of screen space.
  • Just a poor UI in general, most of the time it's full of long path names, it should keep a list of recently executed commands.

Problem running it on Linux Mint - Error: implementation of 'ptr' expected on system.nim

I'm trying to get nimedit to run on my Linux Mint, but I've been running on a series of problems. I downloaded the Linux version from here: https://nim-lang.org/nimedit/downloads.html
The first was that the executable could not load libSDL2.so. Creating a symlink solved this problem (unrelated to nimedit, but it was the same error)

After that, attempting to run it gave the error
Error: cannot open '$HOME/.nimble/lib/system.nim'

Looking for that file, I found it both under $HOME/.choosenim/toolchains/nim-1.4.8/lib/ and /usr/lib/nim/

Next, I've created the nimlib.cfg file suggested in the Download page. My file has this single line: /usr/lib/nim/

Now, whenver I try to run nimedit, it gives me the following error
usr/lib/nim/system.nim(42, 3) Error: implementation of 'ptr' expected

I could not find anything similar on different projects, so now I'm stuck. The error also happens if I use the /.choosenim folder. What should I do to fix this problem?

nim -v

Nim Compiler Version 1.4.8 [Linux: amd64]
Compiled at 2021-05-25
Copyright (c) 2006-2021 by Andreas Rumpf

git hash: 44e653a9314e1b8503f0fa4a8a34c3380b26fff3
active boot switches: -d:release

nimble -v

nimble v0.13.1 compiled at 2021-05-25 00:49:34
git hash: couldn't determine git hash

Scrollbar needs improvement

  • The scrollbar thinks that the page height is the amount of lines in the file, so it hits the bottom of its range of motion before you're done scrolling. This is very noticeable on smaller files.
  • At least on my machine (ubuntu running kde plasma), the scrollbar doesnt move when clicked and dragged. The e var Event that gets passed to it has an invalid kind enum (32512). Some digging into it reveals that this bug Event is getting input quite often, happening many times a second. The best i could find online about it was this but that would mean that there's any issue w/ the nim sdl2 library.
  • Still need to add a gradient.

I was planning on working on this for a bit. ill be updating my fork as i go.

Error: undeclared field: 'data1' for type sdl2.WindowEventPtr

   Warning: The .nimble file for this project could make use of additional features, if converted into the new NimScript format.
        ... For more details see:https://github.com/nim-lang/nimble#creating-packages
  Verifying dependencies for [email protected]
      Info: Dependency on sdl2@#head already satisfied
  Verifying dependencies for sdl2@#head
      Info: Dependency on dialogs@>= 1.0 already satisfied
  Verifying dependencies for [email protected]
      Info: Dependency on gtk2@>= 1.0 already satisfied
  Verifying dependencies for [email protected]
      Info: Dependency on cairo@any version already satisfied
  Verifying dependencies for [email protected]
   Building NimEdit/nimedit using c backend
       Tip: 9 messages have been suppressed, use --verbose to show them.
     Error: Build failed for package: NimEdit
        ... Details:
        ... Execution failed with exit code 1
        ... Command: "/usr/bin/nim" c --noNimblePath -d:NimblePkgVersion=0.91 --path:"/home/unai/.nimble/pkgs/sdl2-#head"  --path:"/home/unai/.nimble/pkgs/dialogs-1.1.1"  --path:"/home/unai/.nimble/pkgs/gtk2-1.3"  --path:"/home/unai/.nimble/pkgs/cairo-1.1.1"  -o:"/home/unai/Descargas/nimedit/nimedit" "/home/unai/Descargas/nimedit/nimedit.nim"
        ... Output: Hint: used config file '/etc/nim/nim.cfg' [Conf]
        ... Hint: used config file '/etc/nim/config.nims' [Conf]
        ... /home/unai/Descargas/nimedit/nimedit.nims(16, 8) Warning: import os.nim instead; ospaths is deprecated [Deprecated]
        ... Hint: system [Processing]
        ... Hint: widestrs [Processing]
        ... Hint: io [Processing]
        ... Hint: nimedit [Processing]
        ... Hint: strutils [Processing]
        ... Hint: parseutils [Processing]
        ... Hint: math [Processing]
        ... Hint: bitops [Processing]
        ... Hint: macros [Processing]
        ... Hint: algorithm [Processing]
        ... Hint: unicode [Processing]
        ... Hint: critbits [Processing]
        ... Hint: os [Processing]
        ... Hint: pathnorm [Processing]
        ... Hint: osseps [Processing]
        ... Hint: posix [Processing]
        ... Hint: times [Processing]
        ... Hint: options [Processing]
        ... Hint: typetraits [Processing]
        ... Hint: browsers [Processing]
        ... Hint: osproc [Processing]
        ... Hint: strtabs [Processing]
        ... Hint: hashes [Processing]
        ... Hint: streams [Processing]
        ... Hint: cpuinfo [Processing]
        ... Hint: tables [Processing]
        ... Hint: intsets [Processing]
        ... Hint: sdl2 [Processing]
        ... Hint: ttf [Processing]
        ... Hint: prims [Processing]
        ... Hint: random [Processing]
        ... /home/unai/Descargas/nimedit/prims.nim(4, 8) Warning: imported and not used: 'random' [UnusedImport]
        ... Hint: buffertype [Processing]
        ... Hint: styles [Processing]
        ... Hint: languages [Processing]
        ... Hint: common [Processing]
        ... /home/unai/Descargas/nimedit/styles.nim(6, 8) Warning: imported and not used: 'languages' [UnusedImport]
        ... Hint: ast [Processing]
        ... Hint: lineinfos [Processing]
        ... Hint: ropes [Processing]
        ... Hint: pathutils [Processing]
        ... Hint: options [Processing]
        ... Hint: sets [Processing]
        ... Hint: platform [Processing]
        ... Hint: prefixmatches [Processing]
        ... Hint: terminal [Processing]
        ... Hint: strformat [Processing]
        ... Hint: colors [Processing]
        ... Hint: termios [Processing]
        ... Hint: idents [Processing]
        ... Hint: wordrecg [Processing]
        ... Hint: idgen [Processing]
        ... Hint: int128 [Processing]
        ... /home/unai/Descargas/nimedit/buffertype.nim(2, 16) Warning: imported and not used: 'languages' [UnusedImport]
        ... Hint: buffer [Processing]
        ... Hint: highlighters [Processing]
        ... /home/unai/Descargas/nimedit/highlighters.nim(355, 6) Hint: 'isKeywordIgnoreCase' is declared but not used [XDeclaredButNotUsed]
        ... /home/unai/Descargas/nimedit/highlighters.nim(15, 33) Warning: imported and not used: 'languages' [UnusedImport]
        ... /home/unai/Descargas/nimedit/highlighters.nim(17, 6) Warning: imported and not used: 'sdl2' [UnusedImport]
        ... /home/unai/Descargas/nimedit/highlighters.nim(15, 25) Warning: imported and not used: 'styles' [UnusedImport]
        ... Hint: themes [Processing]
        ... Hint: unihelp [Processing]
        ... /home/unai/Descargas/nimedit/drawbuffer.nim(287, 7) Hint: 'broke' is declared but not used [XDeclaredButNotUsed]
        ... Hint: console [Processing]
        ... /home/unai/Descargas/nimedit/console.nim(350, 36) Warning: poDemon is deprecated [Deprecated]
        ... Hint: keydefs [Processing]
        ... Hint: nimscriptsupport [Processing]
        ... Hint: modules [Processing]
        ... Hint: astalgo [Processing]
        ... Hint: rodutils [Processing]
        ... Hint: msgs [Processing]
        ... Hint: magicsys [Processing]
        ... Hint: modulegraphs [Processing]
        ... Hint: incremental [Processing]
        ... Hint: btrees [Processing]
        ... Hint: md5 [Processing]
        ... Hint: lexer [Processing]
        ... Hint: nimlexbase [Processing]
        ... Hint: llstream [Processing]
        ... Hint: passes [Processing]
        ... Hint: syntaxes [Processing]
        ... Hint: parser [Processing]
        ... Hint: filters [Processing]
        ... Hint: renderer [Processing]
        ... Hint: filter_tmpl [Processing]
        ... Hint: reorder [Processing]
        ... Hint: modulepaths [Processing]
        ... Hint: rod [Processing]
        ... Hint: passaux [Processing]
        ... Hint: condsyms [Processing]
        ... Hint: sem [Processing]
        ... Hint: trees [Processing]
        ... Hint: types [Processing]
        ... Hint: nversion [Processing]
        ... Hint: nimsets [Processing]
        ... Hint: bitsets [Processing]
        ... Hint: semfold [Processing]
        ... Hint: commands [Processing]
        ... Hint: extccomp [Processing]
        ... Hint: sha1 [Processing]
        ... Hint: endians [Processing]
        ... Hint: sequtils [Processing]
        ... Hint: json [Processing]
        ... Hint: lexbase [Processing]
        ... Hint: parsejson [Processing]
        ... Hint: nimblecmd [Processing]
        ... Hint: parseopt [Processing]
        ... Hint: importer [Processing]
        ... Hint: lookups [Processing]
        ... Hint: semdata [Processing]
        ... Hint: vmdef [Processing]
        ... Hint: prettybase [Processing]
        ... Hint: linter [Processing]
        ... Hint: sigmatch [Processing]
        ... Hint: semtypinst [Processing]
        ... Hint: parampatterns [Processing]
        ... Hint: lowerings [Processing]
        ... Hint: procfind [Processing]
        ... Hint: pragmas [Processing]
        ... Hint: transf [Processing]
        ... Hint: cgmeth [Processing]
        ... Hint: sempass2 [Processing]
        ... Hint: guards [Processing]
        ... Hint: saturate [Processing]
        ... Hint: liftdestructors [Processing]
        ... Hint: sighashes [Processing]
        ... Hint: liftlocals [Processing]
        ... Hint: closureiters [Processing]
        ... Hint: lambdalifting [Processing]
        ... Hint: vm [Processing]
        ... Hint: vmgen [Processing]
        ... Hint: vmdeps [Processing]
        ... Hint: vmmarshal [Processing]
        ... Hint: gorgeimpl [Processing]
        ... Hint: macrocacheimpl [Processing]
        ... Hint: evaltempl [Processing]
        ... Hint: compilesettings [Processing]
        ... Hint: aliases [Processing]
        ... Hint: patterns [Processing]
        ... Hint: semmacrosanity [Processing]
        ... Hint: active [Processing]
        ... Hint: pluginsupport [Processing]
        ... Hint: locals [Processing]
        ... Hint: itersgen [Processing]
        ... Hint: spawn [Processing]
        ... Hint: scriptconfig [Processing]
        ... /home/unai/Descargas/nimedit/nimscriptsupport.nim(5, 59) Warning: imported and not used: 'commands' [UnusedImport]
        ... /home/unai/Descargas/nimedit/nimscriptsupport.nim(4, 62) Warning: imported and not used: 'semdata' [UnusedImport]
        ... /home/unai/Descargas/nimedit/nimscriptsupport.nim(6, 11) Warning: imported and not used: 'msgs' [UnusedImport]
        ... /home/unai/Descargas/nimedit/nimscriptsupport.nim(3, 60) Warning: imported and not used: 'passaux' [UnusedImport]
        ... Hint: tabbar [Processing]
        ... Hint: finder [Processing]
        ... Hint: re [Processing]
        ... Hint: pcre [Processing]
        ... Hint: rtarrays [Processing]
        ... Hint: scrollbar [Processing]
        ... /home/unai/Descargas/nimedit/scrollbar.nim(3, 28) Warning: imported and not used: 'intsets' [UnusedImport]
        ... /home/unai/Descargas/nimedit/scrollbar.nim(4, 24) Warning: imported and not used: 'prims' [UnusedImport]
        ... Hint: indexer [Processing]
        ... /home/unai/Descargas/nimedit/indexer.nim(4, 8) Warning: imported and not used: 'strutils' [UnusedImport]
        ... Hint: overviews [Processing]
        ... /home/unai/Descargas/nimedit/overviews.nim(7, 12) Warning: imported and not used: 'llstream' [UnusedImport]
        ... /home/unai/Descargas/nimedit/overviews.nim(7, 12) Warning: imported and not used: 'msgs' [UnusedImport]
        ... /home/unai/Descargas/nimedit/overviews.nim(7, 12) Warning: imported and not used: 'lookups' [UnusedImport]
        ... Hint: nimsuggestclient [Processing]
        ... Hint: net [Processing]
        ... Hint: nativesockets [Processing]
        ... Hint: monotimes [Processing]
        ... Hint: ssl_certs [Processing]
        ... Hint: ospaths [Processing]
        ... /home/unai/Descargas/nimedit/nimsuggestclient.nim(113, 64) Warning: poDemon is deprecated [Deprecated]
        ... /home/unai/Descargas/nimedit/nimsuggestclient.nim(2, 16) Warning: imported and not used: 'streams' [UnusedImport]
        ... Hint: minimap [Processing]
        ... /home/unai/Descargas/nimedit/nimedit.nim(942, 23) Error: undeclared field: 'data1' for type sdl2.WindowEventPtr [declared in /home/unai/.nimble/pkgs/sdl2-#head/sdl2.nim(70, 3)]

Crash when save executed without arg

If the save command is missing an argument, NimEdit crashes with an IOError. It tries to open the directory.

nimedit.nim(1203)        nimedit
nimedit.nim(1156)        mainProc
nimedit.nim(1013)        processEvents
nimedit.nim(782)         runAction
prompt.nim(273)          runCmd
buffer.nim(506)          saveAs
buffer.nim(495)          save
buffer.nim(472)          saveAsTemp
system.nim(2839)         sysFatal
Error: unhandled exception: cannot open: /home/twetzel59/Projects/nimedit/ [IOError]

Text renderer crashes

Select a large block of code, ensure the cursor is not visible, press tab to indent, crash.

Traceback (most recent call last)
nimedit.nim(1177)        nimedit
nimedit.nim(1142)        mainProc
nimedit.nim(1083)        drawAllWindows
nimedit.nim(1019)        draw
drawbuffer.nim(544)      draw
system.nim(3335)         failedAssertImpl
system.nim(3327)         raiseAssert
system.nim(2527)         sysFatal
Error: unhandled exception: false  [AssertionError]

Cant run from VSC.

Hi,
I tried to run nimedit.nim from VSC. This is the compiler message ;
"buffer.nim(444, 23) Error: usage of 'isNil' is a user-defined error"
What to do ?

License needs to be consistent with the "About" text

From the "About" section:
It's been open sourced in the hope it will speed up its development process.

From the license text (copying.txt):

* You may not place the Product or any Product Element on the Internet or any
other public access network.
* You may not extract portions of the Product.
* You may not include the Product or any Product Element in any other
  collection or other product.
* You may not remove any proprietary notices on the Product.

which completely contradicts the "open source" claim.

SIGSEGV

nimedit crashes immediately after execution.

compiled with 0.19.0

Traceback (most recent call last)
nimedit.nim(1203) nimedit
nimedit.nim(1127) mainProc
nimedit.nim(547) loadTheme
nimscriptsupport.nim(172) loadTheme
nimscriptsupport.nim(73) getGlobal
nimscriptsupport.nim(37) getGlobal
vm.nim(1812) getGlobalValue
SIGSEGV: Illegal storage access. (Attempt to read from nil?)

Download for NimEdit Windows Binary goes to Nim-Lang.org

This page contains a download link to the Nim-Lang.org main website.

I am trying to run NimEdit on Windows.

I have tried building from source on Windows but there is an error with loading the SDL2_TTF DLL.

If I could just download a precompiled binary that would be great!

Error: cannot open file: compiler/ast

Trying to install nimedit on my Gentoo Linux system fails like
nimble install https://github.com/Araq/nimedit.git
Downloading https://github.com/Araq/nimedit.git using git
Verifying dependencies for [email protected]
Info: Dependency on sdl2@#head already satisfied
Verifying dependencies for sdl2@#head
Info: Dependency on dialogs@>= 1.0 already satisfied
Verifying dependencies for [email protected]
Info: Dependency on gtk2@>= 1.0 already satisfied
Verifying dependencies for [email protected]
Info: Dependency on cairo@any version already satisfied
Verifying dependencies for [email protected]
Installing [email protected]
Building NimEdit/nimedit using c backend
/tmp/nimble_174096/githubcom_Araqnimeditgit/prims.nim(4, 8) Warning: imported and not used: 'random' [UnusedImport]
/tmp/nimble_174096/githubcom_Araqnimeditgit/styles.nim(6, 8) Warning: imported and not used: 'languages' [UnusedImport]
/tmp/nimble_174096/githubcom_Araqnimeditgit/buffertype.nim(2, 62) Error: cannot open file: compiler/ast
Tip: 9 messages have been suppressed, use --verbose to show them.
Error: Build failed for package: NimEdit
... Execution failed with exit code 1
... Command: /usr/bin/nim c --colors:on --noNimblePath -d:release -d:NimblePkgVersion=0.91 --path:'/home/jarausch/.nimble/pkgs/sdl2-#head' --path:/home/jarausch/.nimble/pkgs/dialogs-1.1.1 --path:/home/jarausch/.nimble/pkgs/gtk2-1.3 --path:/home/jarausch/.nimble/pkgs/cairo-1.1.1 --hints:off -o:/tmp/nimble_174096/githubcom_Araqnimeditgit/nimedit /tmp/nimble_174096/githubcom_Araqnimeditgit/nimedit.nim

What am I missing?
Thanks for hint,
Helmut

comparison nimedit vs aporia

  • I couldn't find any mention of aporia in this repo nor in issues; seems to me nimedit is the successor to aporia and aporia is not developped anymore but nimedit is; is that correct?
  • what are feature differences wrt aporia?

search&replace buggy

  • If there is only one occurence, NimEdit does highlight it, but claims there is no match.
  • Replace also seems to cause problems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.