GithubHelp home page GithubHelp logo

econtrol's Introduction

This is the base code of EControl Syntax Editor SDK http://econtrol.ru
Ported from Delphi to Lazarus, requires ATSynEdit package.

Code contains:
- syntax parser
- grammar parser
- regex engine (parser requires it, it cannot use FPC RegExpr unit)
- lexer manager (linked list of lexers)
Code does not contain:
- SyntaxMemo control
- ecMemoStrings class
- popup listbox classes
- other visual controls

Code is modified, to work with ATSynEdit
(ecMemoStrings class deleted, replaced with ATStringBuffer class [same methods, much less code]).

LICENSE
EControl author [Michael Zakharov] gave permission to use this code (modified for ATSynEdit) only inside **open source** projects. It's NOT ALLOWED to use this code in closed source. For usage in closed source, you must buy a license from EControl (for full code).
Copyright (c) 2004-2015, EControl
Copyright for added parts (c) 2015 Alexey Torgashin, UVviewsoft.com

econtrol's People

Contributors

alexey-t avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

econtrol's Issues

Fix for case when TextChanged runs when parsing not done yet

todo:

init LastChangePos=-1
on TextChanged(NewPos)

  if LastChangePos>=0: 
    LastChangePos = Min(LastChangePos, NewPos)
  else:
    LastChangePos = NewChangePos
  run from LastChangePos

forget LastChangePos=-1 only on parse finished!!

--> test it on 3M pascal file-
edit at begin, it parses 10sec, edit fast at end

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.