GithubHelp home page GithubHelp logo

zufuliu / notepad2 Goto Github PK

View Code? Open in Web Editor NEW
2.3K 50.0 169.0 22.6 MB

Notepad2-zufuliu is a light-weight Scintilla based text editor for Windows with syntax highlighting, code folding, auto-completion and API list for many programming languages and documents, bundled with file browser plugin metapath-zufuliu.

License: Other

C 38.71% Batchfile 0.86% C++ 48.42% Python 6.48% Shell 0.12% JavaScript 0.31% HTML 0.18% Rust 1.14% CMake 0.78% Kotlin 0.08% Julia 0.66% LLVM 0.17% Ruby 0.17% Go 0.41% TSQL 0.71% Makefile 0.13% Lua 0.10% R 0.43% Dart 0.06% Swift 0.08%
notepad2 metapath syntax-highlighting scintilla dark-theme editor notepad2-mod arm64

notepad2's People

Contributors

atauzki avatar biswa96 avatar lifenjoiner avatar maboroshin avatar matteo-nigro avatar namelessuzer avatar rangzee avatar rmarquis avatar seahoh avatar venusgirl avatar vineelkovvuri avatar voilierbleu avatar wandermax avatar zufuliu 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

notepad2's Issues

Inline IME

Inline IME is now supported (default not enabled), can be configured though Settings -> Use Inline IME.

Broken changes:

  • Previously Korean IME is inlined by default (hard-coded inside Scintilla, cann't be changed to windowed mode), now need to manually enabled.

Related issue:

installer

do you have make installer like notepad2-mod?

Add template element

"!doctype !DOCTYPE a abbr address area article aside audio b base bdi bdo "
"blockquote body br button canvas caption cite code col colgroup command datalist "
"dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer "
"form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd "
"keygen label legend li link map mark menu meta meter nav noscript object ol "
"optgroup option output p param pre progress q rp rt ruby s samp script section "
"select small source span strong style sub summary sup table tbody td textarea "
"tfoot th thead time title tr track u ul var video wbr "
"math svg "
// Other Tag
"acronym applet basefont big center font frame frameset isindex noframes strike tt "
"datagrid datatemplate dir eventsource "

http://developer.mozilla.org/docs/Web/HTML/Element/template

Smart Delete White Spaces

When Insert Tab As Spaces is turned on or file is indented mixed with spaces and tabs, it's better to delete equal amount (depends on current cursor column) of spaces to a tab when Backspace or Delete is pressed and there is no selection, instead of delete one space at a time.

This is what most IDE did, which improve productivity.

conflicting types for ‘uint64_t’

bc43e04
introduced a problem:

typedef unsigned __int64 uint64_t;

result:

src/Edit.c:1554:26: error: conflicting types for ‘uint64_t’
 typedef unsigned __int64 uint64_t;
                          ^~~~~~~~
In file included from /usr/include/sys/types.h:64:0,
                 from /usr/include/stdio.h:61,
                 from src/Edit.c:25:
/usr/include/sys/_stdint.h:60:20: note: previous declaration of ‘uint64_t’ was here
 typedef __uint64_t uint64_t ;
                    ^~~~~~~~

the sane thing to do would be to replace that line with:

#include <stdint.h>

http://en.cppreference.com/w/c/types/integer

Fix "Use Unicode UTF-8 for worldwide language support"

Windows 10 1803 has a beta feature "Use Unicode UTF-8 for worldwide language support", when this is enabled, GetACP() for ANSI will return CP_UTF8 instead of legacy code page like 1252, etc.

Unicode file originally opened as ANSI in Notepad2 still opened as ANSI, but some characters originally displayed correctly may be rendered as question mark (U+FFFD, REPLACEMENT CHARACTER?).

Related links:

https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/f693d2ca-cd4c-4391-8f3f-03a6f5748124/reading-value-of-quotuse-unicode-utf8-for-worldwide-language-supportquot?forum=windowssdk

https://social.msdn.microsoft.com/Forums/windowsapps/en-US/9dadee2f-2dbb-407c-a258-f1774f57675c/issue-with-quotuse-unicode-utf8-for-worldwide-language-supportquot-and-our-softwarequot

Spell Check

Most editor comes with spell check. This one reason some times I use Notepad++ for it's DSpellCheck plugin (another reason is for a bit bigger file. For really bigger file, GVim works better).

Settings Dialog

The settings menu is getting longer and longer, and there are many other settings need to edit (hack into) the ini settings file (then restart Notepad2, which is undesirable).

Make a settings dialog to hold other settings not accessible though menu and these less common used settings will make Notepad2 easy to use.

Related issues:

Support OCaml

Currently OCaml file is opened as F# Source, it's better to use a separate lexer, as the two language is a bit different.

Check inconsistent line endings

Current line ending mode is set according to the first line ending character(s), or set to default if no line ending character is found.
It's useful to check the whole document (automatically or manually) to find inconsistent line endings like Visual Studio.

Support extended Latin characters in auto-completion list

Currently only _0-9A-Za-z and some punctuation (depends on current scheme) is included when populate auto-completion list, because other characters can't (or not recommended to) be used as an identifier in most programming languages.
However, this will truncate words in many languages. e.g. Café is truncated as Caf.

download compiled exe

Hi
Is there any place where I could download compiled exe?
I've found notepad2-mod downloads but It seems this repo differs from notepad2-mod
Actually I was looking for groovy syntax highlighting and it seems there is none in notepad2-mod

Copy As RTF

Currently the Copy As RTF menu (in Edit -> Copy to Clipbaord) is grayed out and not implemented.

SciTE already has a C++ based implementation, may worth porting it to Notepad2, along with other export functions (Export as PDF, RTF, HTML, TeX, etc.)

rc files: errant include with winres.h

this doesnt make sense:

notepad2/src/Notepad2.rc

Lines 10 to 19 in 2d76e73

#if defined(__MINGW64__) || defined(__MINGW32__)
#if defined(__has_include) && __has_include(<winres.h>)
#include <winres.h>
#else
#include <afxres.h>
#include <winresrc.h>
#endif
#else
#include <winres.h>
#endif

#if defined(__MINGW64__) || defined(__MINGW32__)
#if defined(__has_include) && __has_include(<winres.h>)
#include <winres.h>
#else
#include <afxres.h>
#include <winresrc.h>
#endif
#else
#include <winres.h>
#endif

its including winres.h in all cases. it should looks like this:

#if defined(__MINGW64__) || defined(__MINGW32__)
  #include <winres.h>
#else
  #include <afxres.h>
  #include <winresrc.h>
#endif

MinGW-w64 GCC Bidirectional SIGSEGV

Please read https://sourceforge.net/p/scintilla/bugs/2026/ and https://sourceforge.net/p/mingw-w64/bugs/753/.

The BOOL isTrimmed field is missing from DWRITE_HIT_TEST_METRICS structure in MinGW-w64 dwrite.h (line 498), the whole definition of DWRITE_HIT_TEST_METRICS is:

typedef struct DWRITE_HIT_TEST_METRICS {
  UINT32  textPosition;
  UINT32  length;
  FLOAT   left;
  FLOAT   top;
  FLOAT   width;
  FLOAT   height;
  UINT32  bidiLevel;
  WINBOOL isText;
  WINBOOL isTrimmed;
} DWRITE_HIT_TEST_METRICS;

Emmet

Hi zufuliu. Thank you for the explanation on Notepad 3.

I knew there, I got interested. Notepad 2 you are developing is focusing on coding assistance.
If it is not difficult, Please load Emmet's plugin.

In the case of PSPAD, it is provided in a single js file.

Fullscreen Mode

Support toggle fullscreen mode using F11 and exit fullscreen mode using ESC.

Code folding doesn't work with Notepad2.ini

Code folding doesn't work with attatched Notepad2.ini
It folds well but, doesn't unfold with Default(Ctrl-Alt-D) or All(Ctrl-Alt-A)

BTW, after removing first empty section([Notepad2]), It folds and unfold well.

Attatched file is Notepad2.ini.

Notepad2.zip

Completion has some problems

I use many many editors,unfortunately there is no effect I want :(
So I found this . Is awesome, assembly is fully been rendered, This makes it not look like a pile of junk :)

However, this has the bug. that it will complete your input ,no matter what if enter or blank, caused unwanted content.

assembly some did not render
1

GCC

I would prefer to build this with GCC instead of Visual Studio - can we add a Makefile or something?

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.