diff options
Diffstat (limited to 'scite')
-rw-r--r-- | scite/debian/_service | 4 | ||||
-rw-r--r-- | scite/debian/changelog | 10 | ||||
-rw-r--r-- | scite/debian/scite+stackrpms.dsc | 2 | ||||
-rw-r--r-- | scite/debian/stackrpms.lua | 5 | ||||
-rw-r--r-- | scite/stackrpms-5.5.1-1.diff | 1212 |
5 files changed, 1226 insertions, 7 deletions
diff --git a/scite/debian/_service b/scite/debian/_service index 132c807..1a3786e 100644 --- a/scite/debian/_service +++ b/scite/debian/_service @@ -14,8 +14,8 @@ <service name="download_url"> <param name="protocol">https</param> <param name="host">www.scintilla.org</param> - <param name="path">scite550.tgz</param> - <param name="filename">scite_5.5.0.orig.tar.gz</param> + <param name="path">scite551.tgz</param> + <param name="filename">scite_5.5.1.orig.tar.gz</param> </service> <service name="extract_file"> <param name="archive">*.tar.xz</param> diff --git a/scite/debian/changelog b/scite/debian/changelog index 1785025..2d64051 100644 --- a/scite/debian/changelog +++ b/scite/debian/changelog @@ -1,10 +1,16 @@ -scite (1:5.5.0-100+stackrpms) unstable; urgency=medium +scite (1:5.5.1-100+stackrpms) unstable; urgency=medium * Add stackrpms lua script and customized global.properties * Use lua 5.4.4 * Add epoch so stackrpms scite always has precedence over base package - -- B. Stack <bgstack15@gmail.com> Wed, 01 May 2024 20:20:22 -0400 + -- B. Stack <bgstack15@gmail.com> Thu, 01 Aug 2024 11:01:57 -0400 + +scite (5.5.1-1) unstable; urgency=medium + + * New upstream version 5.5.1 + + -- Andreas Rönnquist <gusnan@debian.org> Mon, 22 Jul 2024 11:40:58 +0200 scite (5.5.0-1) unstable; urgency=medium diff --git a/scite/debian/scite+stackrpms.dsc b/scite/debian/scite+stackrpms.dsc index ef7c5f1..2bc27da 100644 --- a/scite/debian/scite+stackrpms.dsc +++ b/scite/debian/scite+stackrpms.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: scite Binary: scite Architecture: any -Version: 1:5.5.0-100+stackrpms +Version: 1:5.5.1-101+stackrpms Maintainer: B. Stack <bgstack15@gmail.com> Homepage: https://scintilla.org/SciTE.html Standards-Version: 4.7.0 diff --git a/scite/debian/stackrpms.lua b/scite/debian/stackrpms.lua index 21f9257..75a6fd3 100644 --- a/scite/debian/stackrpms.lua +++ b/scite/debian/stackrpms.lua @@ -266,13 +266,14 @@ end -- %Y full year (1998) -- %y two-digit year (98) [00-99] -- %% the character '%' +-- Last modified 2024-07-20-7 09:10 function InsertDateAH() local dow = tostring(math.floor(os.date("%w") + 1)) local d1 = os.date("%Y-%m-%d-") local d2 = os.date(" %H:%M") - editor:AddText(d1..dow..d2) + editor:ReplaceSel(d1..dow..d2) end function InsertDateIso() local date_string = os.date("%Y-%m-%dT%T") - editor:AddText(date_string) + editor:ReplaceSel(date_string) end diff --git a/scite/stackrpms-5.5.1-1.diff b/scite/stackrpms-5.5.1-1.diff new file mode 100644 index 0000000..5a92cae --- /dev/null +++ b/scite/stackrpms-5.5.1-1.diff @@ -0,0 +1,1212 @@ +diff -x '.*.swp' -Naur salsa/scite/debian/changelog stackrpms/scite/debian/changelog +--- salsa/scite/debian/changelog 2024-08-01 10:59:12.585637267 -0400 ++++ stackrpms/scite/debian/changelog 2024-08-01 11:02:03.321637267 -0400 +@@ -1,3 +1,11 @@ ++scite (1:5.5.1-100+stackrpms) unstable; urgency=medium ++ ++ * Add stackrpms lua script and customized global.properties ++ * Use lua 5.4.4 ++ * Add epoch so stackrpms scite always has precedence over base package ++ ++ -- B. Stack <bgstack15@gmail.com> Thu, 01 Aug 2024 11:01:57 -0400 ++ + scite (5.5.1-1) unstable; urgency=medium + + * New upstream version 5.5.1 +diff -x '.*.swp' -Naur salsa/scite/debian/control stackrpms/scite/debian/control +--- salsa/scite/debian/control 2024-05-01 20:16:52.117804014 -0400 ++++ stackrpms/scite/debian/control 2024-05-01 20:24:05.262846855 -0400 +@@ -1,14 +1,13 @@ + Source: scite +-Maintainer: Michael Vogt <mvo@debian.org> +-Uploaders: Antonio Valentino <antonio.valentino@tiscali.it>, +- Andreas Rönnquist <gusnan@debian.org> ++Maintainer: B. Stack <bgstack15@gmail.com> ++XSBC-Original-Maintainer: Michael Vogt <mvo@debian.org> + Section: editors + Priority: optional + Rules-Requires-Root: no + Build-Depends: debhelper-compat (= 13), + libgtk-3-dev, + libglib2.0-dev, +- liblua5.3-dev ++ liblua5.4-dev + Standards-Version: 4.7.0 + Vcs-Browser: https://salsa.debian.org/debian/scite + Vcs-Git: https://salsa.debian.org/debian/scite.git +diff -x '.*.swp' -Naur salsa/scite/debian/patches/0004-Build-with-Debian-packaged-Lua.patch stackrpms/scite/debian/patches/0004-Build-with-Debian-packaged-Lua.patch +--- salsa/scite/debian/patches/0004-Build-with-Debian-packaged-Lua.patch 2023-12-30 15:10:24.740185203 -0500 ++++ stackrpms/scite/debian/patches/0004-Build-with-Debian-packaged-Lua.patch 2024-04-04 08:23:08.596651801 -0400 +@@ -36,9 +36,9 @@ + -# For the Gnome desktop stuff to work, prefix must point to where Gnome thinks it is. + -CONFIGFLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION)) + -CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gthread-2.0 gmodule-no-export-2.0) +-+# For the Lua and Gnome desktop stuff to work, prefix must point to where Lua and Gnome thinks it is. +-+CONFIGFLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION)) $(shell $(PKG_CONFIG) --cflags lua5.3) +-+CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gthread-2.0 gmodule-no-export-2.0) $(shell $(PKG_CONFIG) --libs lua5.3) +++# stackrpms,3 For the Lua and Gnome desktop stuff to work, prefix must point to where Lua and Gnome thinks it is. +++CONFIGFLAGS:=$(shell $(PKG_CONFIG) --cflags $(GTK_VERSION)) $(shell $(PKG_CONFIG) --cflags lua5.4) +++CONFIGLIB:=$(shell $(PKG_CONFIG) --libs $(GTK_VERSION) gthread-2.0 gmodule-no-export-2.0) $(shell $(PKG_CONFIG) --libs lua5.4) + gnomeprefix:=$(shell $(PKG_CONFIG) --variable=prefix $(GTK_VERSION) 2>/dev/null) + ifndef prefix + ifdef gnomeprefix +diff -x '.*.swp' -Naur salsa/scite/debian/patches/series stackrpms/scite/debian/patches/series +--- salsa/scite/debian/patches/series 2023-12-04 15:32:55.372321741 -0500 ++++ stackrpms/scite/debian/patches/series 2024-04-04 08:23:08.596651801 -0400 +@@ -2,3 +2,4 @@ + 0002-reproducible_build.patch + 0003-scite-desktop.patch + 0004-Build-with-Debian-packaged-Lua.patch ++use-lua5.4.4.patch +diff -x '.*.swp' -Naur salsa/scite/debian/patches/use-lua5.4.4.patch stackrpms/scite/debian/patches/use-lua5.4.4.patch +--- salsa/scite/debian/patches/use-lua5.4.4.patch 1969-12-31 19:00:00.000000000 -0500 ++++ stackrpms/scite/debian/patches/use-lua5.4.4.patch 2023-08-19 17:16:15.202653929 -0400 +@@ -0,0 +1,191 @@ ++Name: Patch scite to use distro package of lua, Devuan ++Version: 5.2.3 ++Lua-Version: 5.4.4 ++Author: bgstack15@gmail.com ++Date-Modified: 2022-05-31 ++Message: Generated with the following command ++ ++ sed -r -e 's/checkint\(/checkinteger\(/g;' -e 's/lua_strlen\(/lua_rawlen\(/g;' scite/src/LuaExtension.cxx > ~/LuaExtension.cxx.new ++diff -aur scite/gtk/deps.mak scite/gtk/deps.mak ++--- a/scite/gtk/deps.mak 2022-03-30 20:48:24.000000000 -0400 +++++ b/scite/gtk/deps.mak 2022-04-04 14:47:39.110529717 -0400 ++@@ -469,13 +469,6 @@ ++ ../lua/src/luaconf.h \ ++ ../lua/src/lauxlib.h \ ++ ../lua/src/lualib.h ++-lbitlib.o: \ ++- ../lua/src/lbitlib.c \ ++- ../lua/src/lprefix.h \ ++- ../lua/src/lua.h \ ++- ../lua/src/luaconf.h \ ++- ../lua/src/lauxlib.h \ ++- ../lua/src/lualib.h ++ lcode.o: \ ++ ../lua/src/lcode.c \ ++ ../lua/src/lprefix.h \ ++diff -aur scite/src/LuaExtension.cxx scite/src/LuaExtension.cxx ++--- a/scite/src/LuaExtension.cxx 2022-03-30 20:48:24.000000000 -0400 +++++ b/scite/src/LuaExtension.cxx 2022-04-04 14:46:35.097978533 -0400 ++@@ -238,7 +238,7 @@ ++ ++ constexpr int paneIndex = lua_upvalueindex(1); ++ check_pane_object(L, paneIndex); ++- const int message = luaL_checkint(L, 1); +++ const int message = luaL_checkinteger(L, 1); ++ ++ lua_pushvalue(L, paneIndex); ++ lua_replace(L, 1); ++@@ -277,7 +277,7 @@ ++ } ++ ++ int cf_scite_constname(lua_State *L) { ++- const int message = luaL_checkint(L, 1); +++ const int message = luaL_checkinteger(L, 1); ++ const char *prefix = luaL_optstring(L, 2, nullptr); ++ const std::string constName = IFaceTable::GetConstantName(message, prefix); ++ if (constName.length() > 0) { ++@@ -308,7 +308,7 @@ ++ } ++ ++ int cf_scite_menu_command(lua_State *L) { ++- const int cmdID = luaL_checkint(L, 1); +++ const int cmdID = luaL_checkinteger(L, 1); ++ if (cmdID) { ++ host->DoMenuCommand(cmdID); ++ } ++@@ -330,7 +330,7 @@ ++ } ++ ++ int cf_scite_strip_set(lua_State *L) { ++- const int control = luaL_checkint(L, 1); +++ const int control = luaL_checkinteger(L, 1); ++ const char *value = luaL_checkstring(L, 2); ++ if (value) { ++ host->UserStripSet(control, value); ++@@ -339,7 +339,7 @@ ++ } ++ ++ int cf_scite_strip_set_list(lua_State *L) { ++- const int control = luaL_checkint(L, 1); +++ const int control = luaL_checkinteger(L, 1); ++ const char *value = luaL_checkstring(L, 2); ++ if (value) { ++ host->UserStripSetList(control, value); ++@@ -348,7 +348,7 @@ ++ } ++ ++ int cf_scite_strip_value(lua_State *L) { ++- const int control = luaL_checkint(L, 1); +++ const int control = luaL_checkinteger(L, 1); ++ std::string value = host->UserStripValue(control); ++ push_string(L, value); ++ return 1; ++@@ -438,7 +438,7 @@ ++ SA::Position rangeStart = 0; ++ SA::Position rangeEnd = 0; ++ ++- const int flags = (nArgs > 2) ? luaL_checkint(L, 3) : 0; +++ const int flags = (nArgs > 2) ? luaL_checkinteger(L, 3) : 0; ++ hasError = (flags == 0 && lua_gettop(L) > nArgs); ++ ++ if (!hasError) { ++@@ -515,7 +515,7 @@ ++ ++ SA::ScintillaCall &sc = host->PaneCaller(pmo->pane); ++ sc.SetTarget(pmo->range); ++- sc.ReplaceTarget(lua_strlen(L, 2), replacement); +++ sc.ReplaceTarget(lua_rawlen(L, 2), replacement); ++ pmo->range.end = sc.TargetEnd(); ++ return 0; ++ } ++@@ -601,7 +601,7 @@ ++ pmo->endPosOrig = 0; ++ pmo->flags = 0; ++ if (nargs >= 3) { ++- pmo->flags = luaL_checkint(L, 3); +++ pmo->flags = luaL_checkinteger(L, 3); ++ if (nargs >= 4) { ++ pmo->range.end = pmo->endPosOrig = luaL_checkinteger(L, 4); ++ if (pmo->range.end < 0) { ++@@ -766,7 +766,7 @@ ++ const int nargs = lua_gettop(L); ++ const char *code = luaL_checkstring(L, 1); ++ const char *name = luaL_optstring(L, 2, code); ++- if (0 == luaL_loadbuffer(L, code, lua_strlen(L, 1), name)) { +++ if (0 == luaL_loadbuffer(L, code, lua_rawlen(L, 1), name)) { ++ lua_call(L, 0, LUA_MULTRET); ++ return lua_gettop(L) - nargs; ++ } else { ++@@ -897,7 +897,7 @@ ++ int loopParamCount = 2; ++ ++ if (func.paramType[0] == iface_length && func.paramType[1] == iface_string) { ++- params[0] = lua_strlen(L, arg); +++ params[0] = lua_rawlen(L, arg); ++ params[1] = SptrFromString(params[0] ? lua_tostring(L, arg) : ""); ++ loopParamCount = 0; ++ } else if ((func.paramType[1] == iface_stringresult) || (func.returnType == iface_stringresult)) { ++@@ -916,8 +916,8 @@ ++ const char *s = lua_tostring(L, arg++); ++ params[i] = SptrFromString(s ? s : ""); ++ } else if (func.paramType[i] == iface_keymod) { ++- const int keycode = luaL_checkint(L, arg++) & 0xFFFF; ++- const intptr_t modifiers = luaL_checkint(L, arg++) & +++ const int keycode = luaL_checkinteger(L, arg++) & 0xFFFF; +++ const intptr_t modifiers = luaL_checkinteger(L, arg++) & ++ static_cast<int>(SA::KeyMod::Shift|SA::KeyMod::Ctrl|SA::KeyMod::Alt); ++ params[i] = keycode | (modifiers<<16); ++ } else if (func.paramType[i] == iface_bool) { ++@@ -1787,7 +1787,7 @@ ++ static int SetLevelAt(lua_State *L) { ++ StylingContext *context = Context(L); ++ const SA::Line line = luaL_checkinteger(L, 2); ++- const int level = luaL_checkint(L, 3); +++ const int level = luaL_checkinteger(L, 3); ++ context->styler->SetLevel(line, static_cast<SA::FoldLevel>(level)); ++ return 0; ++ } ++@@ -1802,7 +1802,7 @@ ++ static int SetLineState(lua_State *L) { ++ StylingContext *context = Context(L); ++ const SA::Line line = luaL_checkinteger(L, 2); ++- const int stateOfLine = luaL_checkint(L, 3); +++ const int stateOfLine = luaL_checkinteger(L, 3); ++ context->styler->SetLineState(line, stateOfLine); ++ return 0; ++ } ++@@ -1880,7 +1880,7 @@ ++ StylingContext *context = Context(L); ++ const SA::Position startPosStyle = luaL_checkinteger(L, 2); ++ const SA::Position lengthStyle = luaL_checkinteger(L, 3); ++- const int initialStyle = luaL_checkint(L, 4); +++ const int initialStyle = luaL_checkinteger(L, 4); ++ context->StartStyling(startPosStyle, lengthStyle, initialStyle); ++ return 0; ++ } ++@@ -1939,7 +1939,7 @@ ++ static int SetState(lua_State *L) { ++ StylingContext *context = Context(L); ++ context->Colourize(); ++- context->state = luaL_checkint(L, 2); +++ context->state = luaL_checkinteger(L, 2); ++ return 0; ++ } ++ ++@@ -1947,13 +1947,13 @@ ++ StylingContext *context = Context(L); ++ context->Forward(); ++ context->Colourize(); ++- context->state = luaL_checkint(L, 2); +++ context->state = luaL_checkinteger(L, 2); ++ return 0; ++ } ++ ++ static int ChangeState(lua_State *L) { ++ StylingContext *context = Context(L); ++- context->state = luaL_checkint(L, 2); +++ context->state = luaL_checkinteger(L, 2); ++ return 0; ++ } ++ ++ +diff -x '.*.swp' -Naur salsa/scite/debian/rules stackrpms/scite/debian/rules +--- salsa/scite/debian/rules 2023-07-31 11:35:56.033600691 -0400 ++++ stackrpms/scite/debian/rules 2024-04-04 08:23:08.596651801 -0400 +@@ -43,6 +43,9 @@ + mv -f $(CURDIR)/debian/scite/usr/share/scite/*.txt $(CURDIR)/debian/scite/usr/share/doc/scite/ + mv -f $(CURDIR)/debian/scite/usr/share/scite/*.jpg $(CURDIR)/debian/scite/usr/share/doc/scite/ + mv -f $(CURDIR)/debian/scite/usr/share/scite/*.png $(CURDIR)/debian/scite/usr/share/doc/scite/ ++ @#stackrpms,3 ++ cp -p debian/stackrpms.lua $(CURDIR)/debian/scite/usr/share/scite/ ++ install -D -p -m0666 debian/SciTEGlobal.properties $(CURDIR)/debian/scite/etc/scite/ + for f in $(CURDIR)/debian/scite/usr/share/doc/scite/*.html; do \ + dh_link usr/share/doc/scite/$$(basename $$f) usr/share/scite/$$(basename $$f); \ + done +diff -x '.*.swp' -Naur salsa/scite/debian/SciTEGlobal.properties stackrpms/scite/debian/SciTEGlobal.properties +--- salsa/scite/debian/SciTEGlobal.properties 1969-12-31 19:00:00.000000000 -0500 ++++ stackrpms/scite/debian/SciTEGlobal.properties 2024-04-04 08:23:08.592651755 -0400 +@@ -0,0 +1,597 @@ ++# SciTEGlobal.properties placed by scite package for stackrpms ++# Global initialisation file for SciTE ++# For Linux, place in $prefix/share/scite ++# For Windows, place in same directory as SciTE.EXE (or Sc1.EXE) ++# Documentation at http://www.scintilla.org/SciTEDoc.html ++ ++# Globals ++ ++# Window sizes and visibility ++if PLAT_WIN ++ position.left=0 ++ position.top=0 ++if PLAT_GTK ++ position.left=5 ++ position.top=22 ++position.width=$(scale 576) ++position.height=$(scale 740) ++#position.maximize=1 ++#position.tile=1 ++#full.screen.hides.menu=1 ++#minimize.to.tray=1 ++split.vertical=0 ++#split.wide=1 ++#output.horizontal.size=200 ++#output.vertical.size=60 ++#output.initial.hide=1 ++#horizontal.scrollbar=0 ++#horizontal.scroll.width=10000 ++#horizontal.scroll.width.tracking=0 ++#output.horizontal.scrollbar=0 ++#output.horizontal.scroll.width=10000 ++#output.horizontal.scroll.width.tracking=0 ++#output.scroll=0 ++#error.select.line=1 ++#end.at.last.line=0 ++tabbar.visible=1 ++#tabbar.hide.one=1 ++#tabbar.hide.index=1 ++#tabbar.multiline=1 ++#toolbar.visible=1 ++#toolbar.usestockicons=1 ++#toolbar.large=1 ++#menubar.detachable=1 ++#undo.redo.lazy=1 ++statusbar.visible=1 ++#fileselector.width=800 ++#fileselector.height=600 ++#fileselector.show.hidden=1 ++#magnification=-1 ++#output.magnification=-1 ++ ++#change.history=3 ++change.history=0 ++#~ indicator.reverted.to.origin.insertion=style:squiggle,colour:#40A0BF ++#~ indicator.reverted.to.origin.deletion=style:point,colour:#40A0BF ++#~ indicator.saved.insertion=style:squiggle,colour:#60A060 ++#~ indicator.saved.deletion=style:point,colour:#00A000 ++#~ indicator.modified.insertion=style:squiggle,colour:#A0A060 ++#~ indicator.modified.deletion=style:point,colour:#A0A000 ++#~ indicator.reverted.to.modified.insertion=style:squiggle,colour:#FF8000 ++#~ indicator.reverted.to.modified.deletion=style:point,colour:#FF8000 ++#~ marker.reverted.to.origin=style:leftrect,fore:#40A0BF,back:#40A0BF ++#~ marker.saved=style:leftrect,fore:#00A000,back:#00A000 ++#~ marker.modified=style:leftrect,fore:#A0A000,back:#A0A000 ++#~ marker.reverted.to.modified=style:leftrect,fore:#FF8000,back:#FF8000 ++ ++# Sizes and visibility in edit pane ++line.margin.visible=1 ++line.margin.width=4 ++margin.width=$(scale 16) ++fold.margin.width=$(scale 14) ++#fold.margin.colour=#FF0000 ++#fold.margin.highlight.colour=#0000FF ++#blank.margin.left=4 ++#blank.margin.right=4 ++#output.blank.margin.left=4 ++buffered.draw=1 ++#phases.draw=2 ++if PLAT_WIN ++ technology=1 ++#font.quality=3 ++#font.locale=zh-Hans ++if PLAT_MAC ++ font.quality=3 ++ ++# Element styles ++#view.eol=1 ++#control.char.symbol=. ++#representations=\x0D\x0A=\u20AA ++caret.period=500 ++view.whitespace=0 ++view.indentation.whitespace=1 ++view.indentation.guides=1 ++view.indentation.examine=3 ++highlight.indentation.guides=1 ++#caret.fore=#FF0000 ++#caret.additional.fore=#FF00DF ++#caret.additional.blinks=0 ++#caret.style=2 ++#caret.width=2 ++#caret.line.back=#FFFED83F ++#caret.line.layer=1 ++#caret.line.frame=1 ++edge.column=200 ++edge.mode=0 ++edge.colour=#C0DCC0 ++braces.check=1 ++braces.sloppy=1 ++#selection.fore=#006000 ++selection.layer=2 ++if PLAT_WINNT ++ selection.back=#00000020 ++if PLAT_GTK ++ selection.back=#0000001E ++ selection.secondary.back=#00800010 ++if PLAT_MAC ++ selection.back=#00000020 ++selection.additional.back=#00000010 ++selection.inactive.back=#00000010 ++#selection.additional.fore=#0000A0 ++#selection.inactive.fore=#00A000 ++#selection.secondary.fore=#A00000 ++selection.always.visible=1 ++#selection.rectangular.switch.mouse=1 ++#selection.multiple=0 ++#selection.additional.typing=0 ++#selection.multipaste=0 ++#virtual.space=3 ++#rectangular.selection.modifier=8 ++#whitespace.fore=#FF0000 ++#whitespace.back=#FFF0F0 ++#whitespace.size=2 ++#error.marker.fore=#0000A0 ++#error.marker.back=#DADAFF ++#error.inline=1 ++bookmark.fore=#BE0000 ++#bookmark.back=#FFFFA0 ++#bookmark.alpha= ++#bookmark.stroke.width=200 ++#bookmark.symbol=3 ++#find.mark=#0000FF ++#find.mark.indicator=style:compositionthick,colour:#FFB700,under ++#highlight.current.word=1 ++#highlight.current.word.by.style=1 ++#highlight.current.word.colour=#00D040 ++#highlight.current.word.indicator=style:roundbox,colour:#0080FF,under,outlinealpha:140,fillalpha:80 ++filter.match.indicator=style:compositionthick,colour:#FFB700,under ++#filter.match.back=#FFB00030 ++#filter.context=2 ++#hidden.line.colour=2 ++#indicators.alpha=63 ++#indicators.under=1 ++ ++# Scripting ++ext.lua.startup.script=$(SciteUserHome)/SciTEStartup.lua ++ext.lua.auto.reload=1 ++#ext.lua.reset=1 ++ ++# Checking ++are.you.sure=1 ++#are.you.sure.for.build=1 ++#save.all.for.build=1 ++#quit.on.close.last=1 ++#load.on.activate=1 ++#save.on.deactivate=1 ++#are.you.sure.on.reload=1 ++#save.on.timer=20 ++#reload.preserves.undo=1 ++#check.if.already.open=1 ++#temp.files.sync.load=1 ++default.file.ext=.cxx ++#source.default.extensions=.h|.cxx|.bat ++title.full.path=1 ++#title.show.buffers=1 ++#pathbar.visible=1 ++#pathbar.selectable=1 ++save.recent=1 ++save.session=1 ++#session.bookmarks=1 ++#session.folds=1 ++#save.position=1 ++#save.find=1 ++#open.dialog.in.file.directory=1 ++#strip.trailing.spaces=1 ++#ensure.final.line.end=1 ++#ensure.consistent.line.ends=1 ++#save.deletes.first=1 ++#save.check.modified.time=1 ++buffers=100 ++#buffers.zorder.switching=1 ++#api.*.cxx=d:\api\w.api ++#locale.properties=locale.de.properties ++#translation.missing=*** ++#read.only=1 ++#read.only.indicator=1 ++#background.open.size=20000 ++#background.save.size=20000 ++if PLAT_GTK ++ background.save.size=10000000 ++#max.file.size=1 ++file.size.large=100000000 ++file.size.no.styles=10000000 ++#lexilla.path=. ++ ++# Indentation ++tabsize=8 ++indent.size=8 ++use.tabs=1 ++#indent.auto=1 ++indent.automatic=1 ++indent.opening=0 ++indent.closing=0 ++#tab.indents=0 ++#backspace.unindents=0 ++ ++# Wrapping of long lines ++wrap=1 ++wrap.style= ++#cache.layout=3 ++#output.wrap=1 ++#output.cache.layout=3 ++threads.layout=16 ++#wrap.visual.flags=3 ++#wrap.visual.flags.location=3 ++#wrap.indent.mode=1 ++#wrap.visual.startindent=4 ++ ++#idle.styling=1 ++#output.idle.styling=1 ++ ++# Folding ++# enable folding, and show lines below when collapsed. ++fold=1 ++fold.compact=1 ++fold.flags=16 ++#fold.line.colour=#80800080 ++fold.symbols=1 ++#fold.fore=#000000 ++#fold.back=#808080 ++#fold.highlight=1 ++#fold.highlight.colour=#00C0C0 ++#fold.stroke.width=200 ++#fold.on.open=1 ++fold.comment=1 ++fold.preprocessor=1 ++ ++# Find and Replace ++# Internal search always available with recursive capability so use in preference to external tool ++find.command= ++# findstr is available on recent versions of Windows including 2000 ++#if PLAT_WIN ++# find.command=findstr /n /s $(find.what) $(find.files) ++#find.input=$(find.what) ++#if PLAT_GTK ++# find.command=grep --line-number "$(find.what)" $(find.files) ++find.files=*.c *.cxx *.h ++#find.in.files.close.on.find=0 ++#find.in.dot=1 ++#find.in.binary=1 ++#find.exclude=*.bak *.orig debug ++#find.in.directory= ++#find.close.on.find=0 ++#find.replace.matchcase=1 ++#find.replace.escapes=1 ++#find.replace.regexp=1 ++#find.replace.regexp.posix=1 ++#find.replace.regexp.cpp11=1 ++#find.replace.wrap=0 ++#find.replacewith.focus=0 ++#find.replace.advanced=1 ++find.use.strip=1 ++#find.strip.incremental=1 ++#find.indicator.incremental=style:compositionthick,colour:#FFB700,under ++replace.use.strip=1 ++#replace.strip.incremental=1 ++#strip.button.height=24 ++#strip.shortcuts.enable=0 ++ ++# Behaviour ++#eol.mode=LF ++eol.auto=1 ++clear.before.execute=0 ++#vc.home.key=1 ++#wrap.aware.home.end.keys=1 ++#autocompleteword.automatic=1 ++#autocomplete.choose.single=1 ++#autocomplete.*.fillups=([ ++#autocomplete.*.start.characters=.: ++#autocomplete.*.typesep=! ++#autocomplete.fore=#80FFA0 ++#autocomplete.back=#000000 ++#autocomplete.selected.fore=#00FF40 ++#autocomplete.selected.back=#006040 ++#autocomplete.visible.item.count=15 ++ ++caret.policy.xslop=1 ++caret.policy.width=20 ++caret.policy.xstrict=0 ++caret.policy.xeven=0 ++caret.policy.xjumps=0 ++caret.policy.yslop=1 ++caret.policy.lines=1 ++caret.policy.ystrict=1 ++caret.policy.yeven=1 ++caret.policy.yjumps=0 ++#visible.policy.strict=1 ++#visible.policy.slop=1 ++#visible.policy.lines=4 ++#time.commands=1 ++#caret.sticky=1 ++#properties.directory.enable=1 ++#editor.config.enable=1 ++#save.path.suggestion=$(SciteUserHome)\note_$(TimeStamp).txt ++ ++# Status Bar ++statusbar.number=4 ++statusbar.text.1=\ ++li=$(LineNumber) co=$(ColumnNumber) $(OverType) ($(EOLMode)) $(FileAttr) ++statusbar.text.2=\ ++$(BufferLength) chars in $(NbOfLines) lines. Sel: $(SelLength) chars. ++statusbar.text.3=\ ++Now is: Date=$(CurrentDate) Time=$(CurrentTime) ++statusbar.text.4=\ ++$(FileNameExt) : $(FileDate) - $(FileTime) | $(FileAttr) ++ ++if PLAT_WIN ++ command.scite.help="file://$(SciteDefaultHome)\SciTEDoc.html" ++ command.scite.help.subsystem=2 ++if PLAT_GTK ++ command.scite.help=xdg-open "file://$(SciteDefaultHome)/SciTEDoc.html" ++ ++# Internationalisation ++# Japanese input code page 932 and ShiftJIS character set 128 ++#code.page=932 ++#character.set=128 ++# Unicode ++code.page=65001 ++#character.set=204 ++#command.discover.properties=python /home/user/FileDetect.py "$(FilePath)" ++# Forward LC_CTYPE to setlocale which may affect language support. ++#LC_CTYPE=en_US.UTF-8 ++if PLAT_GTK ++ output.code.page=65001 ++if PLAT_MAC ++ output.code.page=65001 ++#ime.interaction=1 ++#ime.autocomplete=1 ++#accessibility=0 ++ ++# Export ++#export.keep.ext=1 ++export.html.wysiwyg=1 ++#export.html.tabs=1 ++#export.html.folding=1 ++export.html.styleused=1 ++#export.html.title.fullpath=1 ++#export.rtf.tabs=1 ++#export.rtf.font.face=Arial ++#export.rtf.font.size=9 ++#export.rtf.tabsize=8 ++#export.rtf.wysiwyg=0 ++#export.tex.title.fullpath=1 ++# Magnification (added to default screen font size) ++export.pdf.magnification=0 ++# Font: Courier, Helvetica or Times (Courier line-wraps) ++export.pdf.font=Helvetica ++# Page size (in points): width, height ++# E.g. Letter 612,792; A4 595,842; maximum 14400,14400 ++export.pdf.pagesize=595,842 ++# Margins (in points): left, right, top, bottom ++export.pdf.margins=72,72,72,72 ++export.xml.collapse.spaces=1 ++export.xml.collapse.lines=1 ++ ++# Define values for use in the imported properties files ++chars.alpha=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ++chars.numeric=0123456789 ++chars.accented=ŠšŒœŸÿÀàÁáÂâÃãÄäÅåÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖØøÙùÚúÛûÜüÝýÞþßö ++# This is a better set for Russian: ++#chars.accented=ÀàÁáÂâÃãÄäÅ娸ÆæÇçÈèÉéÊêËëÌìÍíÎîÏïÐðÑñÒòÓóÔôÕõÖö×÷ØøÙùÚúÛûÜüÝýÞþßÿ ++ ++# The open.filter setting is used in the file selector which has a menu of filters to apply ++# to the types of files seen when opening. ++ ++# Gather all settings with "*source.patterns." prefix from all active .properties files ++source.files=$(star *source.patterns.) ++source.all.filter=All Source|$(source.files)| ++ ++# Each platform has a different idea of the most important filters ++if PLAT_WIN ++ all.files=All Files (*.*)|*.*| ++ top.filters=$(source.all.filter)$(all.files) ++if PLAT_GTK ++ all.files=All Files (*)|*|Hidden Files (.*)|.*| ++ top.filters=$(all.files)$(source.all.filter) ++# As macOS only greys out filtered files, show all as default ++if PLAT_MAC ++ all.files=All Files (*.*)|*.*| ++ top.filters=$(all.files)$(source.all.filter) ++ ++# Gather all settings with "*filter." prefix from all active .properties files ++list.filters=$(star *filter.) ++ ++open.filter=$(top.filters)$(list.filters) ++ ++#save.filter=$(open.filter) ++ ++# Give symbolic names to the set of fonts used in the standard styles. ++if PLAT_WIN ++ font.base=font:Verdana,size:9.4 ++ font.small=font:Verdana,size:8 ++ font.comment=font:Georgia,size:10.1 ++ font.code.comment.box=$(font.comment) ++ font.code.comment.line=$(font.comment) ++ font.code.comment.doc=$(font.comment) ++ font.code.comment.nested=$(font.comment) ++ font.text=font:Times New Roman,size:11 ++ font.text.comment=font:Verdana,size:9 ++ font.embedded.base=font:Verdana,size:9 ++ font.embedded.comment=font:Comic Sans MS,size:8 ++ font.monospace=font:Consolas,size:8.9 ++ font.monospace.small=font:Consolas,size:8 ++ font.vbs=font:Candara,size:10 ++if PLAT_GTK ++ font.base=font:DejaVu Sans,size:9 ++ font.small=font:DejaVu Sans,size:8 ++ font.comment=font:DejaVu Serif,size:9 ++ font.code.comment.box=$(font.comment) ++ font.code.comment.line=$(font.comment) ++ font.code.comment.doc=$(font.comment) ++ font.code.comment.nested=$(font.comment) ++ font.text=font:DejaVu Serif,size:10 ++ font.text.comment=font:Serif,size:9 ++ font.embedded.base=font:Serif,size:9 ++ font.embedded.comment=font:Serif,size:9 ++ font.monospace=font:DejaVu Sans Mono,size:9 ++ font.monospace.small=font:DejaVu Sans Mono,size:8 ++ font.vbs=font:DejaVu Sans Mono,size:9 ++if PLAT_MAC ++ font.base=font:Verdana,size:12 ++ font.small=font:Verdana,size:10 ++ font.comment=font:Georgia,size:13 ++ font.code.comment.box=$(font.comment) ++ font.code.comment.line=$(font.comment) ++ font.code.comment.doc=$(font.comment) ++ font.code.comment.nested=$(font.comment) ++ font.text=font:Times New Roman,size:13 ++ font.text.comment=font:Verdana,size:11 ++ font.embedded.base=font:Verdana,size:11 ++ font.embedded.comment=font:Comic Sans MS,size:10 ++ font.monospace=font:Menlo,size:12 ++ font.monospace.small=font:Menlo,size:10 ++ font.vbs=font:Lucida Sans Unicode,size:12 ++font.js=$(font.comment) ++font.monospaced.list=Consolas;Courier New;DejaVu Sans Mono;Menlo ++ ++# Give symbolic names to the set of colours used in the standard styles. ++colour.code.comment.box=fore:#007F00 ++colour.code.comment.line=fore:#007F00 ++colour.code.comment.doc=fore:#3F703F ++colour.code.comment.nested=fore:#A0C0A0 ++colour.text.comment=fore:#0000FF,back:#D0F0D0 ++colour.other.comment=fore:#007F00 ++colour.embedded.comment=back:#E0EEFF ++colour.embedded.js=back:#F0F0FF ++colour.notused=back:#FF0000 ++ ++colour.number=fore:#007F7F ++colour.keyword=fore:#00007F ++colour.string=fore:#7F007F ++colour.char=fore:#7F007F ++colour.operator=fore:#000000 ++colour.preproc=fore:#7F7F00 ++colour.error=fore:#FFFF00,back:#FF0000 ++ ++# To de-emphasize inactive code set traits.inactive ++#traits.inactive=,back:#F0F0F0,eolfilled ++traits.inactive= ++ ++# Global default styles for all languages ++# Default ++style.*.32=$(font.base) ++# Line number ++style.*.33=back:#C0C0C0,$(font.base) ++# Brace highlight ++style.*.34=fore:#0000FF,bold ++# Brace incomplete highlight ++style.*.35=fore:#FF0000,bold ++# Control characters ++style.*.36= ++# Indentation guides ++style.*.37=fore:#C0C0C0,back:#FFFFFF ++ ++# Printing ++#print.colour.mode=1 ++print.magnification=-1 ++# Windows-only setup: left, right, top, bottom margins, in local units: ++# hundredths of millimeters or thousandths of inches ++print.margins=1500,1000,1000,1500 ++# Header/footer: ++print.header.format=$(FileNameExt) -- Printed on $(CurrentDate), $(CurrentTime) -- Page $(CurrentPage) ++print.footer.format=$(FilePath) -- File date: $(FileDate) -- File time: $(FileTime) ++# Header/footer style ++print.header.style=font:Arial,size:12,bold ++print.footer.style=font:Arial Narrow,size:10,italics ++ ++# Experimental undocumented settings ++#bidirectional=1 ++ ++# Warnings - only works on Windows and needs to be pointed at files on machine ++#if PLAT_WIN ++# warning.findwrapped=100,E:\Windows\Media\SFX\Boing.wav ++# warning.notfound=0,Effect.wav ++# warning.wrongfile=0,Glass.wav ++# warning.executeok=0,Fanfare.wav ++# warning.executeko=100,GlassBreak.wav ++# warning.nootherbookmark=100,Boing2.wav ++ ++#create.hidden.console=1 ++ ++# Define the Lexer menu, ++# Each item contains three parts: menu string | file extension | key ++# The only keys allowed currently are based on F-keys and alphabetic keys and look like ++# [Ctrl+][Shift+][Fn|a] such as F12 or Ctrl+Shift+D. ++# A '&' may be placed before a letter to be used as an accelerator. This does not work on GTK+. ++ ++keyText=Shift+F11 ++keyMake=Ctrl+Shift+F11 ++keyHTML=F12 ++keyXML=Shift+F12 ++keyIndent=Ctrl+Shift+F12 ++# On macOS, F11 is used by Expose, F12 by Dashbard ++if PLAT_MAC ++ os.x.home.end.keys=1 ++ keyText=Shift+F13 ++ keyMake=Ctrl+Shift+F13 ++ keyHTML=Ctrl+Shift+F14 ++ keyXML=Shift+F14 ++ keyIndent= ++ ++# Gather all settings with "*language." prefix from all active .properties files ++menu.language=$(star *language.) ++ ++# User defined key commands ++user.shortcuts=\ ++Ctrl+Shift+V|IDM_PASTEANDDOWN|\ ++Ctrl+PageUp|IDM_PREVFILE|\ ++Ctrl+PageDown|IDM_NEXTFILE| ++ ++#KeypadPlus|IDM_EXPAND|\ ++#KeypadMinus|IDM_BLOCK_COMMENT| ++ ++#user.context.menu=\ ++#||\ ++#Next File|IDM_NEXTFILE|\ ++#Prev File|IDM_PREVFILE| ++ ++# To keep menus short, these .properties files are not loaded by default. ++imports.exclude=abaqus abbrev ada asl asn1 ave avs baan blitzbasic \ ++bullant caml cil cmake cobol coffeescript csound d dataflex ecl eiffel \ ++Embedded erlang escript flagship forth fortran freebasic fsharp gap \ ++haskell hex kix latex lisp lot lout matlab maxima metapost mmixal \ ++modula3 nim nimrod opal oscript pascal pov powerpro ps purebasic r raku \ ++rebol ruby sas scriptol smalltalk sorcins specman spice tacl tal tex \ ++txt2tags verilog vhdl visualprolog ++# The set of imports allowed can be set with ++#imports.include=ave ++ ++ext.lua.startup.script=$(SciteDefaultHome)/stackrpms.lua ++command.name.8.*=Emit &UTF8 Unicode ++command.subsystem.8.*=3 ++command.8.*=emitUnicode ++command.mode.8.*=savebefore:no ++command.shortcut.8.*=Ctrl+U ++command.name.9.*=Insert &Date AH ++command.subsystem.9.*=3 ++command.9.*=InsertDateAH ++command.mode.9.*=savebefore:no ++command.shortcut.9.*=F5 ++command.name.10.*=Insert Date iso8601 ++command.subsystem.10.*=3 ++command.10.*=InsertDateIso ++command.mode.10.*=savebefore:no ++command.shortcut.10.*=Shift+F5 ++ ++# Import all the language specific properties files in this directory ++import * ++ ++# bgstack15 improvements, in addition to a few sprinkled above. ++font.base=$(font.monospace) ++font.small=$(font.monospace) ++font.comment=$(font.monospace) ++font.text=$(font.monospace) ++font.text.comment=$(font.monospace) ++font.embedded.base=$(font.monospace) ++font.embedded.comment=$(font.monospace) ++font.vbs=$(font.monospace) +diff -x '.*.swp' -Naur salsa/scite/debian/scite+stackrpms.dsc stackrpms/scite/debian/scite+stackrpms.dsc +--- salsa/scite/debian/scite+stackrpms.dsc 1969-12-31 19:00:00.000000000 -0500 ++++ stackrpms/scite/debian/scite+stackrpms.dsc 2024-08-01 10:59:57.025637267 -0400 +@@ -0,0 +1,17 @@ ++Format: 3.0 (quilt) ++Source: scite ++Binary: scite ++Architecture: any ++Version: 1:5.5.1-101+stackrpms ++Maintainer: B. Stack <bgstack15@gmail.com> ++Homepage: https://scintilla.org/SciTE.html ++Standards-Version: 4.7.0 ++Vcs-Browser: https://salsa.debian.org/debian/scite ++Vcs-Git: https://salsa.debian.org/debian/scite.git ++Build-Depends: debhelper-compat (= 13), libgtk-3-dev, libglib2.0-dev, liblua5.4-dev ++Package-List: ++ scite deb editors optional arch=any ++Files: ++ 00000000000000000000000000000000 1 scite.orig.tar.gz ++ 00000000000000000000000000000000 1 scite+stackrpms.debian.tar.xz ++Original-Maintainer: Michael Vogt <mvo@debian.org> +diff -x '.*.swp' -Naur salsa/scite/debian/_service stackrpms/scite/debian/_service +--- salsa/scite/debian/_service 1969-12-31 19:00:00.000000000 -0500 ++++ stackrpms/scite/debian/_service 2024-08-01 10:59:53.701637267 -0400 +@@ -0,0 +1,24 @@ ++<services> ++ <service name="tar_scm"> ++ <param name="scm">git</param> ++ <param name="url">https://bgstack15.ddns.net/cgit/stackrpms</param> ++ <param name="subdir">scite/debian</param> ++ <param name="filename">debian</param> ++ <param name="revision">master</param> ++ <param name="version">_none_</param> ++ </service> ++ <service name="recompress"> ++ <param name="file">*.tar</param> ++ <param name="compression">xz</param> ++ </service> ++ <service name="download_url"> ++ <param name="protocol">https</param> ++ <param name="host">www.scintilla.org</param> ++ <param name="path">scite551.tgz</param> ++ <param name="filename">scite_5.5.1.orig.tar.gz</param> ++ </service> ++ <service name="extract_file"> ++ <param name="archive">*.tar.xz</param> ++ <param name="files">*/*.dsc</param> ++ </service> ++</services> +diff -x '.*.swp' -Naur salsa/scite/debian/source/lintian-overrides stackrpms/scite/debian/source/lintian-overrides +--- salsa/scite/debian/source/lintian-overrides 2024-05-01 20:16:52.117804014 -0400 ++++ stackrpms/scite/debian/source/lintian-overrides 2024-05-01 20:27:00.470504688 -0400 +@@ -3,3 +3,7 @@ + scite source: source-is-missing [scite/doc/ScriptLexer.html] + scite source: source-is-missing [scintilla/doc/SciCoding.html] + scite source: source-is-missing [lexilla/test/examples/hypertext/mako.html] ++# stackrpms,4 ++national-encoding debian/SciTEGlobal.properties ++invalid-field-for-derivative ++invalid-devuan-version +diff -x '.*.swp' -Naur salsa/scite/debian/stackrpms.lua stackrpms/scite/debian/stackrpms.lua +--- salsa/scite/debian/stackrpms.lua 1969-12-31 19:00:00.000000000 -0500 ++++ stackrpms/scite/debian/stackrpms.lua 2024-07-20 09:10:34.708207055 -0400 +@@ -0,0 +1,279 @@ ++-- DESCRIPTION: ++-- Unicode hexadecimal table: https://example.com/copied/unicode.html ++-- Source: http://lua-users.org/wiki/SciteUnicodeInput http://sourceforge.net/projects/emitunicodeinscite/ ++-- Future reference: http://lua-users.org/wiki/SciteScripts ++-- ++-- This lua script adds utf8 unicode input, to the scite text editor. ++-- ++-- The scite text editor should be set to use the UTF-8 encoding ++-- , because this script adds utf8, into the text buffer of the ++-- scite editor. Select File->Encoding->UTF-8, from the ++-- menu bar of scite. ++-- ++-- For example, it will be possible that you type 2200 CTRL+U ++-- , and 2200 is replaced to ∀; (U+2200), in the scite editor. ++-- ++-- ______________________________________________________________________________ ++-- ++-- INSTALL: ++-- ++-- To have scite running this script each time you press Ctrl+U, add next lines ++-- into your ~/SciTEUser.properties file, where ~ is your home directory. ++-- FILE ~/SciTEUser.properties: ++--[[ ++ext.lua.startup.script=$(SciteUserHome)/emitUtf8UnicodeIntoTheSciteEditor.lua ++command.name.8.*=Emit UTF8 Unicode ++command.subsystem.8.*=3 ++command.8.*=emitUtf8UnicodeIntoTheSciteEditor ++command.mode.8.*=savebefore:no ++command.shortcut.8.*=Ctrl+U ++--]] ++-- ______________________________________________________________________________ ++-- THE LUA CODE: ++-- ++-- Next is the definition of the lua function that is called by scite ++-- when CTRL+U is pressed, to replace unicode endpoint encoding, with ++-- utf8 encoding of the unicode endpoint. ++-- ______________________________________________________________________________ ++ ++ ++-- Computes the utf8 encoding for a unicode codepoint u ++-- , when 0 <= u <= 0x7f ++-- ++-- @param unicodeValue the unicode codepoint u ++-- ++-- @return the utf8 encoding of the unicode codepoint u ++function case1UnicodeToUtf8(unicodeValue) ++ --print('case 1') ++ local u = unicodeValue ++ local byte0 = (u % 0x80) ++ local utf8 = string.char(byte0) ++ return utf8 ++end ++ ++-- ______________________________________________________________________________ ++-- Computes the utf8 encoding for a unicode codepoint u ++-- , when 0x80 <= u <= 0x7ff ++-- ++-- @param unicodeValue the unicode codepoint u ++-- ++-- @return the utf8 encoding of the unicode codepoint u ++function case2UnicodeToUtf8(unicodeValue) ++ --print('case 2') ++ local u = unicodeValue ++ local byte1 = (0x80 + (u % 0x40) ) ++ u = math.floor(u / 0x40) ++ local byte0 = (0xc0 + (u % 0x20) ) ++ local utf8 = string.char(byte0, byte1) ++ return utf8 ++end ++ ++-- ______________________________________________________________________________ ++-- Computes the utf8 encoding for a unicode codepoint u ++-- , when 0x800 <= u <= 0xffff. ++-- ++-- @param unicodeValue the unicode codepoint u ++-- ++-- @return the utf8 encoding of the unicode codepoint u ++function case3UnicodeToUtf8(unicodeValue) ++ local u = unicodeValue ++ local byte2 = (0x80 + (u % 0x40)) ++ -- print('byte2: '..byte2) ++ u = math.floor(u / 0x40) ++ local byte1 = (0x80 + (u % 0x40)) ++ -- print('byte1: '..byte1) ++ u = math.floor(u / 0x40) ++ local byte0 = (0xe0 + (u % 0x10)) ++ -- print('byte0: '..byte0) ++ local utf8 = string.char(byte0, byte1, byte2) ++ return utf8 ++end ++ ++-- ______________________________________________________________________________ ++-- Computes the utf8 encoding for a unicode codepoint u ++-- , when 0x10000 <= u <= 0x10ffff. ++-- ++-- @param unicodeValue the unicode codepoint u ++-- ++-- @return the utf8 encoding of the unicode codepoint u ++function case4UnicodeToUtf8(unicodeValue) ++ local u = unicodeValue ++ local byte3 = (0x80 + (u % 0x40)) ++ u = math.floor(u / 0x40) ++ local byte2 = (0x80 + (u % 0x40)) ++ u = math.floor(u / 0x40) ++ local byte1 = (0x80 + (u % 0x40)) ++ u = math.floor(u / 0x40) ++ local byte0 = (0xf0 + (u % 0x8)) ++ local utf8 = string.char(byte0, byte1, byte2, byte3) ++ return utf8 ++end ++ ++-- ______________________________________________________________________________ ++-- Converts a unicode integer value, into a utf8 string value. ++-- ++-- The unicode integer value is an integer that ++-- is greater than or equal to zero. ++-- ++-- The utf8 string value is a string that is a sequence of ++-- 8 bits characters that give the utf8 encoding of the ++-- unicode codepoint given by the unicode integer value. ++-- ++-- @param unicodeValue the unicode integer value; ++-- a unicode codepoint ++-- ++-- @return the utf8 encoding of the unicode codepoint ++-- provided by the unicodeValue input argument ++function unicodeToUtf8(unicodeValue) ++ local u = unicodeValue ++ if ((0x800 <= u) and (0xffff >= u)) ++ then ++ return case3UnicodeToUtf8(u) ++ end ++ if ((0x80 <= u) and (0x7fff >= u)) ++ then ++ return case2UnicodeToUtf8(u) ++ end ++ if ((0x0 <= u) and (0x7f >= u)) ++ then ++ return case1UnicodeToUtf8(u) ++ end ++ if( (0x10000 <= u) and (0x10ffff >= u) ) ++ then ++ return case4UnicodeToUtf8(u) ++ end ++ return nil ++end ++ ++-- ______________________________________________________________________________ ++-- Peeks (reads) the character at position i, in the Scite Editor. ++-- If the character is the ascii name of a hex digit, it returns ++-- the corresponding hex digit, otherwise it returns nil. ++-- ++-- @param i position in the Scite Editor ++-- @return hex digit at position i, or nil ++function peekHexdigit(i) ++ local e = editor ++ local asciiCode = e.CharAt[i] ++ if((0>asciiCode) or (0xff < asciiCode)) ++ then ++ return nil ++ end ++ local charValue = string.char(asciiCode) ++ local hexDigit = tonumber(charValue,0x10) ++ return hexDigit -- may be nil ++end ++ ++-- ______________________________________________________________________________ ++-- Reads the sequence of maximum length at most 5, at the left of the cursor ++-- in the Scite Editor. ++-- Encodes the longest suffix of this sequence, that is a hex number, into ++-- the utf encoding of this hex number. ++-- Replaces this longest suffix, with the utf8 sequence. ++-- ++-- @return true a suffix of length greater than zero, at most 5 existed ++-- and was replaced with the utf8 encoding of the number it ++-- represented ++-- ++-- false , when no such suffix existed ++function emitUtf8Unicode() ++ local e = editor ++ local n = e.TextLength ++ local i = e.CurrentPos ++ local maxlen = 5 ++ if ((0 == n) or (1 > i)) ++ then ++ return nil -- Success. No request ++ end ++ local len = 1 ++ local len2 = 0 ++ local u = 0 ++ local thePower = 1 ++ while ( (len <= maxlen) ++ and (0 <= (i - len) ) ++ ) ++ do ++ local hexDigit = peekHexdigit(i-len,u) ++ if (nil == hexDigit) ++ then ++ break -- out of the while loop ++ end ++ u = ( u + (thePower * hexDigit) ) ++ thePower = (0x10 * thePower ) ++ len2 = len ++ --print("u: "..u) ++ len = len + 1 ++ end ++ if (0 == len2) ++ then ++ return nil -- Failure. No unicode ++ end ++ utf8 = unicodeToUtf8(u) ++ if(nil == utf8) ++ then ++ return nil -- Failure. Unicode to utf8 conversion failed. ++ end ++ e:SetSel(i-len2,i) ++ e:ReplaceSel(utf8) ++ --print("utf8: "..utf8) ++ return true -- Success. ++end ++ ++-- ______________________________________________________________________________ ++-- Emits utf8 encoding in the place of the unicode codepoint ++-- in the editor, at the left of the cursor. ++-- ++-- Writes a message to the Output pane, if no codepoint existed ++-- at the left of the cursor. ++-- ++function emitUnicode() ++ local ok = emitUtf8Unicode() ++ if not ok ++ then ++ --print("Failed to encode unicode into text editor.") ++ end ++end ++ ++-- ______________________________________________________________________________ ++-- ++-- Following web pages were useful in writing the lua scite script. ++-- ++-- http://lua-users.org/wiki/UsingLuaWithScite ++-- http://www.scintilla.org/PaneAPI.html ++-- http://www.lua.org/manual/5.1/manual.html#pdf-tonumber ++-- https://en.wikipedia.org/wiki/UTF-8 ++-- ++-- http://lua-users.org/lists/lua-l/2007-08/msg00276.html ++-- http://keplerproject.github.io/luadoc/ ++ ++-- Reference: http://lua-users.org/wiki/SciteInsertDate ++-- Tags used by os.date: ++-- %a abbreviated weekday name (e.g., Wed) ++-- %A full weekday name (e.g., Wednesday) ++-- %b abbreviated month name (e.g., Sep) ++-- %B full month name (e.g., September) ++-- %c date and time (e.g., 09/16/98 23:48:10) ++-- %d day of the month (16) [01-31] ++-- %H hour, using a 24-hour clock (23) [00-23] ++-- %I hour, using a 12-hour clock (11) [01-12] ++-- %M minute (48) [00-59] ++-- %m month (09) [01-12] ++-- %p either "am" or "pm" (pm) ++-- %S second (10) [00-61] ++-- %w weekday (3) [0-6 = Sunday-Saturday] ++-- %x date (e.g., 09/16/98) ++-- %X time (e.g., 23:48:10) ++-- %Y full year (1998) ++-- %y two-digit year (98) [00-99] ++-- %% the character '%' ++-- Last modified 2024-07-20-7 09:10 ++function InsertDateAH() ++ local dow = tostring(math.floor(os.date("%w") + 1)) ++ local d1 = os.date("%Y-%m-%d-") ++ local d2 = os.date(" %H:%M") ++ editor:ReplaceSel(d1..dow..d2) ++end ++function InsertDateIso() ++ local date_string = os.date("%Y-%m-%dT%T") ++ editor:ReplaceSel(date_string) ++end |