Coder Social home page Coder Social logo

mrbald / nedit-ng Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eteran/nedit-ng

0.0 1.0 0.0 16.55 MB

a Qt5 port of the NEdit using modern c++14

License: GNU General Public License v2.0

CMake 0.54% C++ 98.63% Yacc 0.78% C 0.05% Objective-C 0.01%

nedit-ng's Introduction

nedit-ng

Build Status License

nedit-ng is a Qt port of the Nirvana Editor (NEdit) version 5.6. It is intended to be a drop in replacement for nedit in every practical way, just as on many systems /usr/bin/vi is now a symlink to /usr/bin/vim.

Because it is a true port of the original code, it (at least for now) inherits some (but not all) of the limitations of the original. On the other hand, some aspects have been improved simply by the fact that it is now a Qt application.

Nedit-ng

Requirements:

Dependency Version Required
Qt >= 5.5
Boost (Headers Only) >= 1.35
Bison >= 3.0

Compiling:

$ mkdir build
$ cd build
$ cmake ..
$ make

Inherited Limitations:

  • Text display is still ASCII only (for now).
  • Regex engine is the original nedit proprietary implementation. This was kept for a few reasons:
    1. NEdit's syntax is slightly non-standard, and I wanted to keep things backwards compatible for now.
    2. NEdit's syntax highligher has very carefully created regex's which result in things being highlighted in a way that I (and I assume other nedit users) have grown to appreciate. A change in regex engine would likely require a rework on the syntax highlighting algorithm.
    3. The original highligher has some insider information of the regex implementation which it uses in order to be more efficient. I could fake this information, but at the cost of efficiency.

Improvements already available:

  • Bug fixes! Yes, NEdit 5.6 unfortunately has some bugs, some of which can result in a crash. Where possible, the new code has these fixed.
  • Anti-aliased font rendering.
  • Modern look and feel.
  • Internally, counted strings are used instead of NUL terminated strings. This removes the need to have code that played games with substituting NUL characters mid-stream.
  • Use of some C++ containers means many internal size limits are no longer present.
  • Code as been reworked using modern C++ techniques using a toolkit with an active developer community, making it significantly easier for contributions to be made by the open source community.

Version 1.0's goal is to be a nearly 1:1 port of the original NEdit. Once that is complete some post 1.0 goals are already planned:

  • Cross platform
  • Internationalization!
  • Python/LUA scripting support in addition to the built-in macro system
  • An improved preferences system
  • Extensibility though plugins
  • Sessions, meaning that you can save and restore an edit session (such as several open tabs)

nedit-ng's People

Contributors

1div0 avatar afeblot avatar ericxuo avatar eteran avatar yue2388253 avatar

Watchers

 avatar

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.