Compare commits
43 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9caca768a9 | ||
|
c4c9573c19 | ||
|
985c45f06e | ||
|
171046dffd | ||
|
1cb9455a03 | ||
|
d2e813cedf | ||
|
86e85de3d8 | ||
|
c4f48844aa | ||
|
699af1c5e3 | ||
|
77eb51fa65 | ||
|
88e69e512c | ||
|
f5e8cf19c9 | ||
|
cee5bdcd43 | ||
|
413475b25e | ||
|
0bf91bdab6 | ||
|
87d6c3cc32 | ||
|
1fa67e991b | ||
|
e8fe361989 | ||
|
d58415671b | ||
|
8f27032e30 | ||
|
e4e8b4e223 | ||
|
f64556d29a | ||
|
038a3a8853 | ||
|
6aebe35343 | ||
|
d295cfa45e | ||
|
b4639a8448 | ||
|
a235a33be4 | ||
|
2e44ab50c1 | ||
|
838c6ed202 | ||
|
d5162d9d26 | ||
|
0d6f30b5d9 | ||
|
a8a475294c | ||
|
e779ce1d8b | ||
|
fdaece3d8d | ||
|
c07edc7c2a | ||
|
013d669da6 | ||
|
414468cc0b | ||
|
3cb247515d | ||
|
dab9eda574 | ||
|
2c6670cbe6 | ||
|
3eb5bfdb8b | ||
|
548b89c093 | ||
|
f9c6292e25 |
@ -1,3 +1,7 @@
|
||||
*** NOTE: This ChangeLog was not updated for the 0.10.1 and 0.10.2 release.
|
||||
Instead see the NEWS file for a list of changes.
|
||||
|
||||
|
||||
2006-12-21 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
|
||||
* doc/geany.1.in, doc/Makefile.am, doc/geany.docbook, doc/images/*,
|
||||
|
58
NEWS
58
NEWS
@ -1,3 +1,58 @@
|
||||
Geany 0.10.2 (February 25, 2007)
|
||||
|
||||
Bugs fixed:
|
||||
* Fixed serious crash of complete X session when using the Stop
|
||||
command when Geany is run from the program menu (closes #1668017).
|
||||
|
||||
|
||||
Geany 0.10.1 (February 23, 2007)
|
||||
|
||||
Bugs fixed:
|
||||
* Wrong tab foreground colour for unmodified documents.
|
||||
* Fixed crashes when closing dialogs by clicking X on some systems.
|
||||
* Fixed missing global tags for C files when a C++ source file was
|
||||
loaded first.
|
||||
* Fixed autocompletion missing tag matches.
|
||||
* Fixed a wrong PASCAL autocompletion.
|
||||
* Set single undo action when toggling multiple lines or stripping
|
||||
trailing spaces.
|
||||
* Prevent some possible invalid memory reads.
|
||||
* Convert config, application and documentation dir paths to locale
|
||||
encoding before using it.
|
||||
* Fixed errors when changing directories containing special
|
||||
characters within the VTE component (thanks to Jeff Pohlmeyer).
|
||||
* Support newer so-names when loading the VTE library (thanks to
|
||||
Jeff Pohlmeyer).
|
||||
* Fixed paste problems on Windows.
|
||||
* When using Save As the returned filename needs to be converted
|
||||
into UTF-8.
|
||||
* Fixed error when parsing of compiler errors by the va_list system.
|
||||
* Added MimeType entry as suggested by Nick Schermer.
|
||||
* LaTeX parser: Allow \section*{} and other commands with *.
|
||||
* Change default keybinding for Close All to Ctrl-Shift-W.
|
||||
* Allow Make for files with no extension - prevent Build when the
|
||||
output filename would be the same as the source file.
|
||||
* Ensure the VTE visual settings are applied when switching to VTE
|
||||
when the Message Window is hidden.
|
||||
* Fixed several issues while opening files and improved code.
|
||||
* Improved the auto scrolling of documents and fixed a bug when
|
||||
opening files remotely.
|
||||
* Fixed wrong D function return type after a class definition.
|
||||
* Added several missing style types for filetype Perl (thanks to
|
||||
John Gabriele for reporting).
|
||||
* Prevent right click in Symbol list from selecting a tag.
|
||||
* Update the symbol list when starting a new document.
|
||||
* Scroll Compiler and Messages window in view when using Next Error
|
||||
or Next Message.
|
||||
* Auto close brackets only when auto completion of constructs is
|
||||
enabled (closes #1665015).
|
||||
* Fixed switching to the wrong tab when showing the unsaved dialog.
|
||||
|
||||
Internationalisation:
|
||||
* New translations: fi (thanks to Harri Koskinen).
|
||||
* Updated translations: cs, de, es, fr, hu.
|
||||
|
||||
|
||||
Geany 0.10 (December 21, 2006)
|
||||
|
||||
Changes:
|
||||
@ -9,8 +64,7 @@ Geany 0.10 (December 21, 2006)
|
||||
patched file in a diff file.
|
||||
* Added new encoding "None" to open files without any character
|
||||
conversions.
|
||||
* Added stop button(using the Run button) to cancel the execution
|
||||
of a command like Run, Compile or Build.
|
||||
* Added Stop button to abort the Run command.
|
||||
* New filetype VHDL.
|
||||
* New scintilla lexer for filetype D with several improvements.
|
||||
* Improved auto completion of multi line comments
|
||||
|
2
THANKS
2
THANKS
@ -20,6 +20,7 @@ Kevin Ellwood <kellwood(at)ameritech(dot)net>
|
||||
Stefan Oltmanns <stefan(dot)oltmanns(at)abi2006(dot)gymnasium-achim(dot)de> - escape sequences patch
|
||||
Bob Doan <bdoan(at)sicom(dot)com> - some patches
|
||||
Rob van der Linde <robvdl(at)paradise(dot)net(dot)nz> - fixed wrong vte height on some systems
|
||||
Dirk Weber <dietrich-weber(at)web(dot)de>
|
||||
|
||||
Translators:
|
||||
----------------------------------
|
||||
@ -29,6 +30,7 @@ Toni Garcia-Navarro <topi(at)elpiset(dot)net> - ca_ES
|
||||
Petr Messner <messa(at)messa(dot)cz> - cs_CZ
|
||||
Frank Lanitz <frank(at)frank(dot)uvena(dot)de> - de_DE
|
||||
Damián Viano <debian(at)damianv(dot)com(dot)ar> - es
|
||||
Harri Koskinen <harri(at)fastmonkey(dot)org> - fi_FI
|
||||
Jean-Philippe Moal <skateinmars(at)momo(dot)servegame(dot)org> - fr
|
||||
Gabor Kmetyko aka kilo <kg_kilo(at)freemail(dot)hu> - hu
|
||||
M.Baldinelli <m(dot)baldinelli(at)agora(dot)it> - it
|
||||
|
2
TODO
2
TODO
@ -5,8 +5,6 @@ TODO List:
|
||||
|
||||
Next version or later:
|
||||
|
||||
o fix problems when loading global.tags and other tags files are
|
||||
already loaded
|
||||
o fix calltip return type to show pointers (and maybe const, etc.)
|
||||
o Go to xxx - definable command
|
||||
o documentation: list and explain filetype modes
|
||||
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $Id$
|
||||
|
||||
AC_INIT(configure.in)
|
||||
AM_INIT_AUTOMAKE(geany, 0.10)
|
||||
AM_INIT_AUTOMAKE(geany, 0.10.2)
|
||||
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
@ -125,7 +125,7 @@ AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
|
||||
|
||||
# Add the languages which your application supports here.
|
||||
ALL_LINGUAS="be ca cs de es fr hu it nl pl pt_BR ru vi zh_CN zh_TW"
|
||||
ALL_LINGUAS="be ca cs de es fi fr hu it nl pl pt_BR ru vi zh_CN zh_TW"
|
||||
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
|
||||
|
@ -18,6 +18,19 @@ array=0x105090;0xffffff;false;false
|
||||
hash=0x105090;0xffffff;false;false
|
||||
symboltable=0x105090;0xffffff;false;false
|
||||
backticks=0x000000;0xe0c0e0;false;false
|
||||
pod_verbatim=0x004000;0xc0ffc0;false;false
|
||||
reg_subst=0x000000;0xf0e080;false;false
|
||||
datasection=0x600000;0xfff0d8;false;false
|
||||
here_delim=0x000000;0xddd0dd;false;false
|
||||
here_q=0x7f007f;0xddd0dd;false;false
|
||||
here_qq=0x7f007f;0xddd0dd;true;false
|
||||
here_qx=0x7f007f;0xddd0dd;false;true
|
||||
string_q=0x7f007f;0xffffff;false;false
|
||||
string_qq=0xff901e;0xffffff;false;false
|
||||
string_qx=0x000000;0xe0c0e0;false;false
|
||||
string_qr=0x105090;0xffffff;false;false
|
||||
string_qw=0x105090;0xffffff;false;false
|
||||
variable_indexer=0x000000;0xffffff;false;false
|
||||
|
||||
[keywords]
|
||||
primary=NULL __FILE__ __LINE__ __PACKAGE__ __DATA__ __END__ AUTOLOAD BEGIN CORE DESTROY END EQ GE GT INIT LE LT NE CHECK abs accept alarm and atan2 bind binmode bless caller chdir chmod chomp chop chown chr chroot close closedir cmp connect continue cos crypt dbmclose dbmopen defined delete die do dump each else elsif endgrent endhostent endnetent endprotoent endpwent endservent eof eq eval exec exists exit exp fcntl fileno flock for foreach fork format formline ge getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt glob gmtime goto grep gt hex if index int ioctl join keys kill last lc lcfirst le length link listen local localtime lock log lstat lt m map mkdir msgctl msgget msgrcv msgsnd my ne next no not oct open opendir or ord our pack package pipe pop pos print printf prototype push q qq qr quotemeta qu qw qx rand read readdir readline readlink readpipe recv redo ref rename require reset return reverse rewinddir rindex rmdir s scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat study sub substr symlink syscall sysopen sysread sysseek system syswrite tell telldir tie tied time times tr truncate uc ucfirst umask undef unless unlink unpack unshift untie until use utime values vec wait waitpid wantarray warn while write x xor y
|
||||
|
@ -113,7 +113,7 @@ settextstyle||(font: Word; direction: Word; charsize: Word)|
|
||||
setusercharsize||(Multx: Word; Divx: Word; Multy: Word; Divy: Word)|
|
||||
setviewport||(X1: SmallInt; Y1: SmallInt; X2: SmallInt; Y2: SmallInt; Clip: Boolean)|
|
||||
setwritemode||(WriteMode: SmallInt)|
|
||||
soundSound||(Hz: Word)|
|
||||
sound||(Hz: Word)|
|
||||
textbackground||(Color: Byte)|
|
||||
textcolor||(Color: Byte)|
|
||||
textheight|Word|(const TextString: String)|
|
||||
|
@ -1,4 +1,4 @@
|
||||
.TH "GEANY" "1" "December 21, 2006" "@PACKAGE@ @VERSION@" ""
|
||||
.TH "GEANY" "1" "February 25, 2007" "@PACKAGE@ @VERSION@" ""
|
||||
.SH "NAME"
|
||||
Geany \(em a small and lightweight IDE
|
||||
.SH "SYNOPSIS"
|
||||
@ -12,9 +12,6 @@ Some of its features: syntax highlighting, code completion, code folding, symbol
|
||||
many supported filetypes like C(++), Java, PHP, HTML, DocBook, Perl and more.
|
||||
.PP
|
||||
Homepage: http://geany.uvena.de
|
||||
|
||||
Set initial line number for the first opened file
|
||||
|
||||
.SH "OPTIONS"
|
||||
.IP "\fB-c\fP \fB\-\-config\fP " 10
|
||||
Use an alternate configuration directory. Default configuration directory is
|
||||
@ -48,13 +45,11 @@ Show version information and exit.
|
||||
Show help information and exit.
|
||||
.PP
|
||||
Geany supports all generic GTK options, a list is available on the help screen.
|
||||
|
||||
.SH "AUTHOR"
|
||||
.PP
|
||||
This manual page was written by Enrico Tröger <enrico.troeger@uvena.de>. Permission is
|
||||
This manual page was written by Enrico Troeger <enrico.troeger@uvena.de>. Permission is
|
||||
granted to copy, distribute and/or modify this document under
|
||||
the terms of the GNU General Public License, Version 2 any
|
||||
later version published by the Free Software Foundation.
|
||||
.PP
|
||||
The complete text of the GNU General Public License can be found in @GEANY_DATA_DIR@/GPL-2.
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
||||
<!ENTITY app_small "geany">
|
||||
<!ENTITY appversion "0.10">
|
||||
<!ENTITY appversion "0.10.2">
|
||||
<!ENTITY appurl "http://geany.uvena.de">
|
||||
<!ENTITY author_mail "enrico.troeger@uvena.de">
|
||||
<!ENTITY date "December 21, 2006">
|
||||
<!ENTITY date "February 25, 2007">
|
||||
<!ENTITY legal SYSTEM "geany_gpl.docbook">
|
||||
<!ENTITY scikeybinding SYSTEM "scikeybinding.docbook">
|
||||
]>
|
||||
@ -28,7 +28,7 @@
|
||||
<address><email>frank@frank.uvena.de</email></address>
|
||||
</author>
|
||||
<copyright>
|
||||
<year>2005-2006</year>
|
||||
<year>2005-2007</year>
|
||||
</copyright>
|
||||
<legalnotice>
|
||||
<para>
|
||||
|
3284
doc/geany.txt
3284
doc/geany.txt
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix A. Scintilla keyboard commands</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch04s03.html" title="Templates"><link rel="next" href="apb.html" title="Appendix B. GNU General Public License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Scintilla keyboard commands</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="scikeybinding"></a>Scintilla keyboard commands</h1></div><div><p class="copyright">Copyright © 1998, 2006 Neil Hodgson <neilh@scintilla.org></p></div><div><div class="legalnotice"><a name="id2798015"></a><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix A. Scintilla keyboard commands</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch04s03.html" title="Templates"><link rel="next" href="apb.html" title="Appendix B. GNU General Public License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix A. Scintilla keyboard commands</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="scikeybinding"></a>Scintilla keyboard commands</h1></div><div><p class="copyright">Copyright © 1998, 2006 Neil Hodgson <neilh@scintilla.org></p></div><div><div class="legalnotice"><a name="id2798631"></a><p>
|
||||
This appendix is distributed under the terms of the License for
|
||||
Scintilla and SciTE.
|
||||
A copy of this license can be found in the file scintilla/License.txt
|
||||
@ -6,9 +6,9 @@
|
||||
program and in the
|
||||
appendix of this document.
|
||||
See <a href="apc.html" title="Appendix C. License for Scintilla and SciTE">Appendix C, <i>License for Scintilla and SciTE</i></a>.
|
||||
</p></div></div><div><p class="pubdate">20 June 2006</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apa.html#id2798042">
|
||||
</p></div></div><div><p class="pubdate">20 June 2006</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apa.html#id2798657">
|
||||
Keyboard commands
|
||||
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798042"></a>
|
||||
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798657"></a>
|
||||
Keyboard commands
|
||||
</h2></div></div></div><p>
|
||||
|
||||
@ -21,5 +21,5 @@
|
||||
Keyboard equivalents of menu commands are listed in the menus.
|
||||
Some less common commands with no menu equivalent are:
|
||||
</p><p>
|
||||
</p><div class="table"><a name="id2798676"></a><p class="title"><b>Table A.1. Scintilla keyboard commands</b></p><div class="table-contents"><table summary="Scintilla keyboard commands" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Shortcut key</th></tr></thead><tbody><tr><td>Magnify text size.</td><td>Ctrl+Keypad+</td></tr><tr><td>Reduce text size.</td><td>Ctrl+Keypad-</td></tr><tr><td>Restore text size to normal.</td><td>Ctrl+Keypad/</td></tr><tr><td>Indent block.</td><td>Tab</td></tr><tr><td>Dedent block.</td><td>Shift+Tab</td></tr><tr><td>Delete to start of word.</td><td>Ctrl+BackSpace</td></tr><tr><td>Delete to end of word.</td><td>Ctrl+Delete</td></tr><tr><td>Delete to start of line.</td><td>Ctrl+Shift+BackSpace</td></tr><tr><td>Delete to end of line.</td><td>Ctrl+Shift+Delete</td></tr><tr><td>Go to start of document.</td><td>Ctrl+Home</td></tr><tr><td>Extend selection to start of document.</td><td>Ctrl+Shift+Home</td></tr><tr><td>Go to start of display line.</td><td>Alt+Home</td></tr><tr><td>Extend selection to start of display line.</td><td>Alt+Shift+Home</td></tr><tr><td>Go to end of document.</td><td>Ctrl+End</td></tr><tr><td>Extend selection to end of document.</td><td>Ctrl+Shift+End</td></tr><tr><td>Go to end of display line.</td><td>Alt+End</td></tr><tr><td>Extend selection to end of display line.</td><td>Alt+Shift+End</td></tr><tr><td>Scroll up.</td><td>Ctrl+Up</td></tr><tr><td>Scroll down.</td><td>Ctrl+Down</td></tr><tr><td>Line cut.</td><td>Ctrl+L</td></tr><tr><td>Line copy.</td><td>Ctrl+Shift+T</td></tr><tr><td>Line delete.</td><td>Ctrl+Shift+L</td></tr><tr><td>Line transpose with previous.</td><td>Ctrl+T</td></tr><tr><td>Selection duplicate.</td><td>Ctrl+D</td></tr><tr><td>Previous paragraph. Shift extends selection.</td><td>Ctrl+[</td></tr><tr><td>Next paragraph. Shift extends selection.</td><td>Ctrl+]</td></tr><tr><td>Previous word. Shift extends selection.</td><td>Ctrl+Left</td></tr><tr><td>Next word. Shift extends selection.</td><td>Ctrl+Right</td></tr><tr><td>Previous word part. Shift extends selection</td><td>Ctrl+/</td></tr><tr><td>Next word part. Shift extends selection.</td><td>Ctrl+\</td></tr></tbody></table></div></div><p><br class="table-break">
|
||||
</p><div class="table"><a name="id2799292"></a><p class="title"><b>Table A.1. Scintilla keyboard commands</b></p><div class="table-contents"><table summary="Scintilla keyboard commands" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Shortcut key</th></tr></thead><tbody><tr><td>Magnify text size.</td><td>Ctrl+Keypad+</td></tr><tr><td>Reduce text size.</td><td>Ctrl+Keypad-</td></tr><tr><td>Restore text size to normal.</td><td>Ctrl+Keypad/</td></tr><tr><td>Indent block.</td><td>Tab</td></tr><tr><td>Dedent block.</td><td>Shift+Tab</td></tr><tr><td>Delete to start of word.</td><td>Ctrl+BackSpace</td></tr><tr><td>Delete to end of word.</td><td>Ctrl+Delete</td></tr><tr><td>Delete to start of line.</td><td>Ctrl+Shift+BackSpace</td></tr><tr><td>Delete to end of line.</td><td>Ctrl+Shift+Delete</td></tr><tr><td>Go to start of document.</td><td>Ctrl+Home</td></tr><tr><td>Extend selection to start of document.</td><td>Ctrl+Shift+Home</td></tr><tr><td>Go to start of display line.</td><td>Alt+Home</td></tr><tr><td>Extend selection to start of display line.</td><td>Alt+Shift+Home</td></tr><tr><td>Go to end of document.</td><td>Ctrl+End</td></tr><tr><td>Extend selection to end of document.</td><td>Ctrl+Shift+End</td></tr><tr><td>Go to end of display line.</td><td>Alt+End</td></tr><tr><td>Extend selection to end of display line.</td><td>Alt+Shift+End</td></tr><tr><td>Scroll up.</td><td>Ctrl+Up</td></tr><tr><td>Scroll down.</td><td>Ctrl+Down</td></tr><tr><td>Line cut.</td><td>Ctrl+L</td></tr><tr><td>Line copy.</td><td>Ctrl+Shift+T</td></tr><tr><td>Line delete.</td><td>Ctrl+Shift+L</td></tr><tr><td>Line transpose with previous.</td><td>Ctrl+T</td></tr><tr><td>Selection duplicate.</td><td>Ctrl+D</td></tr><tr><td>Previous paragraph. Shift extends selection.</td><td>Ctrl+[</td></tr><tr><td>Next paragraph. Shift extends selection.</td><td>Ctrl+]</td></tr><tr><td>Previous word. Shift extends selection.</td><td>Ctrl+Left</td></tr><tr><td>Next word. Shift extends selection.</td><td>Ctrl+Right</td></tr><tr><td>Previous word part. Shift extends selection</td><td>Ctrl+/</td></tr><tr><td>Next word part. Shift extends selection.</td><td>Ctrl+\</td></tr></tbody></table></div></div><p><br class="table-break">
|
||||
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="apb.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Templates </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix B. GNU General Public License</td></tr></table></div></body></html>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix B. GNU General Public License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="apa.html" title="Appendix A. Scintilla keyboard commands"><link rel="next" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. GNU General Public License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apbs02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="geany-gpl"></a>GNU General Public License</h1></div><div><p class="releaseinfo"> Version 2, June 1991</p></div><div><p class="copyright">Copyright © 1989, 1991 Free Software Foundation, Inc.</p></div><div><div class="legalnotice"><a name="id2798382"></a><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix B. GNU General Public License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="apa.html" title="Appendix A. Scintilla keyboard commands"><link rel="next" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix B. GNU General Public License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apa.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="apbs02.html">Next</a></td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="geany-gpl"></a>GNU General Public License</h1></div><div><p class="releaseinfo"> Version 2, June 1991</p></div><div><p class="copyright">Copyright © 1989, 1991 Free Software Foundation, Inc.</p></div><div><div class="legalnotice"><a name="id2798997"></a><p>
|
||||
</p><div class="address"><p>Free Software Foundation, Inc.<br>
|
||||
<span class="street">59 Temple Place, Suite 330</span>,<br>
|
||||
<span class="city">Boston</span>,<br>
|
||||
@ -7,18 +7,18 @@
|
||||
<span class="country">USA</span><br>
|
||||
</p></div><p>.
|
||||
</p><p> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
|
||||
</p></div></div><div><p class="pubdate">Version 2, June 1991</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apb.html#id2798471">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2799701">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799887">Section 3
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799987">Section 4
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800005">Section 5
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800023">Section 6
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800040">Section 7
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800091">Section 8
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800109">Section 9
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800142">Section 10
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800160">Section 11 NO WARRANTY
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800181">Section 12
|
||||
</p></div></div><div><p class="pubdate">Version 2, June 1991</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="apb.html#id2799087">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2800317">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800503">Section 3
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800604">Section 4
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800621">Section 5
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800640">Section 6
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800657">Section 7
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800707">Section 8
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800725">Section 9
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800758">Section 10
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800777">Section 11 NO WARRANTY
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800797">Section 12
|
||||
</a></span></dt></dl></dd><dt><span class="sect1"><a href="apbs03.html">How to Apply These Terms to Your New Programs
|
||||
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798471"></a>Preamble</h2></div></div></div><p> The licenses for most software are designed to take away your
|
||||
</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2799087"></a>Preamble</h2></div></div></div><p> The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public License is
|
||||
intended to guarantee your freedom to share and change
|
||||
free software - to make sure the software is free for all its users.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apb.html" title="Appendix B. GNU General Public License"><link rel="next" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apbs03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2799694"></a>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799701"></a>Section 0</h3></div></div></div><p> This License applies to any program or other work which contains a notice
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apb.html" title="Appendix B. GNU General Public License"><link rel="next" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apb.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apbs03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800310"></a>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800317"></a>Section 0</h3></div></div></div><p> This License applies to any program or other work which contains a notice
|
||||
placed by the copyright holder saying it may be distributed under the terms
|
||||
of this General Public License. The "Program", below, refers to any such
|
||||
program or work, and a
|
||||
@ -61,7 +61,7 @@
|
||||
</p><p> In addition, mere aggregation of another work not based on the Program with the Program
|
||||
(or with a work based on the Program) on a volume of a storage or distribution medium
|
||||
does not bring the other work under the scope of this License.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799887"></a>Section 3
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800503"></a>Section 3
|
||||
</h3></div></div></div><p> You may copy and distribute the Program (or a work based on it, under
|
||||
<a href="apbs02.html#sect2" title="Section 2">Section 2</a> in object code or executable form under the terms of
|
||||
<a href="apbs02.html#sect1" title="Section 1">Sections 1</a> and
|
||||
@ -90,26 +90,26 @@
|
||||
designated place, then offering equivalent access to copy the source code from the same place
|
||||
counts as distribution of the source code, even though third parties are not compelled to
|
||||
copy the source along with the object code.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2799987"></a>Section 4
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800604"></a>Section 4
|
||||
</h3></div></div></div><p> You may not copy, modify, sublicense, or distribute the Program except as expressly provided
|
||||
under this License. Any attempt otherwise to copy, modify, sublicense or distribute the
|
||||
Program is void, and will automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this License will not have their
|
||||
licenses terminated so long as such parties remain in full compliance.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800005"></a>Section 5
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800621"></a>Section 5
|
||||
</h3></div></div></div><p> You are not required to accept this License, since you have not signed it. However, nothing
|
||||
else grants you permission to modify or distribute the Program or its derivative works.
|
||||
These actions are prohibited by law if you do not accept this License. Therefore, by modifying
|
||||
or distributing the Program (or any work based on the Program), you indicate your acceptance
|
||||
of this License to do so, and all its terms and conditions for copying, distributing or
|
||||
modifying the Program or works based on it.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800023"></a>Section 6
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800640"></a>Section 6
|
||||
</h3></div></div></div><p> Each time you redistribute the Program (or any work based on the Program), the recipient
|
||||
automatically receives a license from the original licensor to copy, distribute or modify
|
||||
the Program subject to these terms and conditions. You may not impose any further restrictions
|
||||
on the recipients' exercise of the rights granted herein. You are not responsible for enforcing
|
||||
compliance by third parties to this License.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800040"></a>Section 7
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800657"></a>Section 7
|
||||
</h3></div></div></div><p> If, as a consequence of a court judgment or allegation of patent infringement or for any other
|
||||
reason (not limited to patent issues), conditions are imposed on you (whether by court order,
|
||||
agreement or otherwise) that contradict the conditions of this License, they do not excuse you
|
||||
@ -131,13 +131,13 @@
|
||||
system and a licensee cannot impose that choice.
|
||||
</p><p> This section is intended to make thoroughly clear what is believed to be a consequence of the
|
||||
rest of this License.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800091"></a>Section 8
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800707"></a>Section 8
|
||||
</h3></div></div></div><p> If the distribution and/or use of the Program is restricted in certain countries either by patents
|
||||
or by copyrighted interfaces, the original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding those countries, so that
|
||||
distribution is permitted only in or among countries not thus excluded. In such case, this License
|
||||
incorporates the limitation as if written in the body of this License.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800109"></a>Section 9
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800725"></a>Section 9
|
||||
</h3></div></div></div><p> The Free Software Foundation may publish revised and/or new versions of the General Public License
|
||||
from time to time. Such new versions will be similar in spirit to the present version, but may differ
|
||||
in detail to address new problems or concerns.
|
||||
@ -146,20 +146,20 @@
|
||||
and conditions either of that version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of this License, you may choose any
|
||||
version ever published by the Free Software Foundation.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800142"></a>Section 10
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800758"></a>Section 10
|
||||
</h3></div></div></div><p> If you wish to incorporate parts of the Program into other free programs whose distribution
|
||||
conditions are different, write to the author to ask for permission. For software which is copyrighted
|
||||
by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions
|
||||
for this. Our decision will be guided by the two goals of preserving the free status of all
|
||||
derivatives of our free software and of promoting the sharing and reuse of software generally.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800160"></a>Section 11 NO WARRANTY
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800777"></a>Section 11 NO WARRANTY
|
||||
</h3></div></div></div><p> BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
|
||||
PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800181"></a>Section 12
|
||||
</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2800797"></a>Section 12
|
||||
</h3></div></div></div><p> IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
|
||||
ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
|
@ -1,5 +1,5 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to Apply These Terms to Your New Programs</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"><link rel="next" href="apc.html" title="Appendix C. License for Scintilla and SciTE"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How to Apply These Terms to Your New Programs
|
||||
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs02.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800206"></a>How to Apply These Terms to Your New Programs
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to Apply These Terms to Your New Programs</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="apb.html" title="Appendix B. GNU General Public License"><link rel="prev" href="apbs02.html" title="TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION"><link rel="next" href="apc.html" title="Appendix C. License for Scintilla and SciTE"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How to Apply These Terms to Your New Programs
|
||||
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs02.html">Prev</a> </td><th width="60%" align="center">Appendix B. GNU General Public License</th><td width="20%" align="right"> <a accesskey="n" href="apc.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2800823"></a>How to Apply These Terms to Your New Programs
|
||||
</h2></div></div></div><p>
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix C. License for Scintilla and SciTE</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. License for Scintilla and SciTE</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla-license"></a>Appendix C. License for Scintilla and SciTE</h2></div></div></div><p>Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org></p><p>All Rights Reserved</p><p>Permission to use, copy, modify, and distribute this software and its
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Appendix C. License for Scintilla and SciTE</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="apbs03.html" title="How to Apply These Terms to Your New Programs"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Appendix C. License for Scintilla and SciTE</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="apbs03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> </td></tr></table><hr></div><div class="appendix" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="scintilla-license"></a>Appendix C. License for Scintilla and SciTE</h2></div></div></div><p>Copyright 1998-2003 by Neil Hodgson <neilh@scintilla.org></p><p>All Rights Reserved</p><p>Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted, provided that
|
||||
the above copyright notice appear in all copies and that both that copyright
|
||||
notice and this permission notice appear in supporting documentation.
|
||||
|
@ -1,8 +1,8 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 1. Introduction</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="index.html" title="Geany 0.10"><link rel="next" href="ch01s02.html" title="About this document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 1. Introduction</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="index.html" title="Geany 0.10.2"><link rel="next" href="ch01s02.html" title="About this document"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1.
|
||||
Introduction
|
||||
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="intro"></a>Chapter 1.
|
||||
Introduction
|
||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch01.html#id2784276">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2784276"></a>About Geany</h2></div></div></div><p>
|
||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch01.html#id2746564">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746564"></a>About Geany</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> is a small and lightweight Integrated Development Environment.
|
||||
It was developed to provide a small and fast IDE, which has only a few dependencies from other
|
||||
packages. Another goal was to be as independent as possible from a special Desktop Environment
|
||||
@ -12,5 +12,5 @@
|
||||
The basic features of <span class="application">Geany</span> are:
|
||||
</p><div class="itemizedlist"><ul type="disc"><li><p>Syntax highlighting</p></li><li><p>Code completion</p></li><li><p>Auto completion of often used constructs like if, for and while</p></li><li><p>Auto completion of XML and HTML tags</p></li><li><p>Call tips</p></li><li><p>Many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal</p></li><li><p>Tag/Symbol lists</p></li></ul></div><p>
|
||||
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">
|
||||
Geany 0.10
|
||||
Geany 0.10.2
|
||||
</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> About this document</td></tr></table></div></body></html>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>About this document</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch01s03.html" title="Where to get it"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">About this document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>About this document</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch01s03.html" title="Where to get it"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">About this document</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
Introduction
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746203"></a>About this document</h2></div></div></div><p>
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746811"></a>About this document</h2></div></div></div><p>
|
||||
This documentation is available in various formats like HTML, text and PDF. The latest version is
|
||||
always available at <a href="http://geany.uvena.de" target="_top">http://geany.uvena.de</a>.
|
||||
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1.
|
||||
|
@ -1,6 +1,6 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Where to get it</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01s02.html" title="About this document"><link rel="next" href="ch01s04.html" title="License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Where to get it</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Where to get it</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01s02.html" title="About this document"><link rel="next" href="ch01s04.html" title="License"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Where to get it</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
Introduction
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746221"></a>Where to get it</h2></div></div></div><p>
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746829"></a>Where to get it</h2></div></div></div><p>
|
||||
You can obtain <span class="application">Geany</span> from <a href="http://geany.uvena.de" target="_top">http://geany.uvena.de</a>
|
||||
or perhaps from your distributor.
|
||||
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">About this document </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> License</td></tr></table></div></body></html>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01s03.html" title="Where to get it"><link rel="next" href="ch02.html" title="Chapter 2. Installation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>License</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch01.html" title="Chapter 1. Introduction"><link rel="prev" href="ch01s03.html" title="Where to get it"><link rel="next" href="ch02.html" title="Chapter 2. Installation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">License</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a> </td><th width="60%" align="center">Chapter 1.
|
||||
Introduction
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746245"></a>License</h2></div></div></div><p>
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746854"></a>License</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> is distributed under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
|
||||
A copy of this license can be found in the file COPYING included with the source code of this
|
||||
|
@ -1,8 +1,8 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2. Installation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch01s04.html" title="License"><link rel="next" href="ch02s02.html" title="Source compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 2. Installation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch01s04.html" title="License"><link rel="next" href="ch02s02.html" title="Source compilation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2.
|
||||
Installation
|
||||
</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s04.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="installation"></a>Chapter 2.
|
||||
Installation
|
||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2746438">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2746702">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746730">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746756">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746767">Gentoo</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2746438"></a>Requirements</h2></div></div></div><p>
|
||||
</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2747048">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2747323">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747350">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747376">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747387">Gentoo</a></span></dt></dl></dd></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2747048"></a>Requirements</h2></div></div></div><p>
|
||||
For compiling <span class="application">Geany</span> yourself, you will need the GTK (>= 2.6.0)
|
||||
libraries and header files. You will also need the Pango, Glib and ATK libraries and header files.
|
||||
All these files are available at <a href="http://www.gtk.org" target="_top">http://www.gtk.org</a>.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Source compilation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch02.html" title="Chapter 2. Installation"><link rel="prev" href="ch02.html" title="Chapter 2. Installation"><link rel="next" href="ch02s03.html" title="Binary packages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Source compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Source compilation</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch02.html" title="Chapter 2. Installation"><link rel="prev" href="ch02.html" title="Chapter 2. Installation"><link rel="next" href="ch02s03.html" title="Binary packages"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Source compilation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2.
|
||||
Installation
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="source_compilation"></a>Source compilation</h2></div></div></div><p>
|
||||
Compiling <span class="application">Geany</span> is quite easy. The following should do it:
|
||||
|
@ -1,17 +1,17 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Binary packages</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch02.html" title="Chapter 2. Installation"><link rel="prev" href="ch02s02.html" title="Source compilation"><link rel="next" href="ch03.html" title="Chapter 3. Usage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2.
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Binary packages</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch02.html" title="Chapter 2. Installation"><link rel="prev" href="ch02s02.html" title="Source compilation"><link rel="next" href="ch03.html" title="Chapter 3. Usage"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Binary packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2.
|
||||
Installation
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="binary_packages"></a>Binary packages</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746702"></a>Fedora</h3></div></div></div><p>
|
||||
</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="binary_packages"></a>Binary packages</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747323"></a>Fedora</h3></div></div></div><p>
|
||||
You can use the Fedora Core 4 repository from
|
||||
<a href="http://naturidentisch.de/packages/fc4/" target="_top">http://naturidentisch.de/packages/fc4/</a>.
|
||||
</p><p>
|
||||
You can also use the Fedora Core 5 repository from
|
||||
<a href="http://naturidentisch.de/packages/fc5/" target="_top">http://naturidentisch.de/packages/fc5/</a>.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746730"></a>Debian</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747350"></a>Debian</h3></div></div></div><p>
|
||||
<span class="application">Geany</span> is available through the official Debian archives.
|
||||
</p><p>
|
||||
<span><strong class="command">apt-get install geany</strong></span>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746756"></a>SuSE</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747376"></a>SuSE</h3></div></div></div><p>
|
||||
Packages for SuSE are not yet available.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2746767"></a>Gentoo</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2747387"></a>Gentoo</h3></div></div></div><p>
|
||||
An ebuild for Gentoo can be found on <a href="https://bugs.gentoo.org/show_bug.cgi?id=114815" target="_top">http://bugs.gentoo.de</a>.
|
||||
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Source compilation </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Usage</td></tr></table></div></body></html>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 3. Usage</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch02s03.html" title="Binary packages"><link rel="next" href="ch03s02.html" title="Command line options"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Usage</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="usage"></a>Chapter 3. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794005">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794136">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794154">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794269">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794305">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794321">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794352">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794395">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794419">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794432">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794443">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795368">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795393">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795412">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795431">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795444">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795458">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795481">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745299">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745340">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745360">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="getting_started"></a>Getting started</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 3. Usage</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch02s03.html" title="Binary packages"><link rel="next" href="ch03s02.html" title="Command line options"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 3. Usage</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch03s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="usage"></a>Chapter 3. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794621">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794752">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794770">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794885">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794921">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794937">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794968">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795011">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795035">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795048">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795059">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795984">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796009">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796028">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796047">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796060">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796074">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796097">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745909">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745950">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745969">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="getting_started"></a>Getting started</h2></div></div></div><p>
|
||||
You can start <span class="application">Geany</span> in the following ways:
|
||||
</p><div class="itemizedlist"><ul type="disc"><li><p>
|
||||
From the Desktop Environment menu
|
||||
|
@ -1,5 +1,5 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Command line options</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03.html" title="Chapter 3. Usage"><link rel="next" href="ch03s03.html" title="General"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Command line options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clo"></a>Command line options</h2></div></div></div><p>
|
||||
</p><div class="table"><a name="id2746904"></a><p class="title"><b>Table 3.1. Command line Options</b></p><div class="table-contents"><table summary="Command line Options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Short option</th><th>Long option</th><th>Function</th></tr></thead><tbody><tr><td>-c dir_name</td><td>--config=directory_name</td><td>Use an alternate configuration directory. Default
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Command line options</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03.html" title="Chapter 3. Usage"><link rel="next" href="ch03s03.html" title="General"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Command line options</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="clo"></a>Command line options</h2></div></div></div><p>
|
||||
</p><div class="table"><a name="id2747524"></a><p class="title"><b>Table 3.1. Command line Options</b></p><div class="table-contents"><table summary="Command line Options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Short option</th><th>Long option</th><th>Function</th></tr></thead><tbody><tr><td>-c dir_name</td><td>--config=directory_name</td><td>Use an alternate configuration directory. Default
|
||||
configuration directory is <code class="filename">~/.geany/</code>
|
||||
and there resides <code class="filename">geany.conf</code> and
|
||||
other configuration files.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>General</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s02.html" title="Command line options"><link rel="next" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="general"></a>General</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="general_startup"></a>Startup</h3></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>General</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s02.html" title="Command line options"><link rel="next" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="general"></a>General</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="general_startup"></a>Startup</h3></div></div></div><p>
|
||||
At startup, <span class="application">Geany</span> loads all files from the last time
|
||||
<span class="application">Geany</span> was launched. You can disable this feature in the
|
||||
preferences dialog(see <a href="ch03s06.html#confdialog_gen" title="Figure 3.4. General tab in preferences dialog">Figure 3.4, “General tab in preferences dialog”</a>). If you specify some files on
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Character sets and Unicode Byte-Order-Mark (BOM)</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s03.html" title="General"><link rel="next" href="ch03s05.html" title="Search, replace and go to"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Character sets and Unicode Byte-Order-Mark (BOM)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s05.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="charset"></a>Character sets and Unicode Byte-Order-Mark (BOM)</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794005"></a>Using character sets</h3></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Character sets and Unicode Byte-Order-Mark (BOM)</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s03.html" title="General"><link rel="next" href="ch03s05.html" title="Search, replace and go to"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Character sets and Unicode Byte-Order-Mark (BOM)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s05.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="charset"></a>Character sets and Unicode Byte-Order-Mark (BOM)</h2></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794621"></a>Using character sets</h3></div></div></div><p>
|
||||
<span class="application">Geany</span> provides support for detecting and converting
|
||||
character sets. So you can open and save files in different character sets and
|
||||
even can convert a file from a character set to another one.
|
||||
@ -33,14 +33,14 @@
|
||||
</p></li><li><p>Using the "Set encoding" menu item</p><p>In contrary to the above two options, this will not change or
|
||||
reload the current file unless you save it. It is useful when
|
||||
you want to change the encoding of the file.</p></li></ol></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794136"></a>Special encoding "None"</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794752"></a>Special encoding "None"</h3></div></div></div><p>
|
||||
There is a special encoding "None" which is actually no real encoding. It is
|
||||
useful when you know that Geany cannot auto detect the encoding of a file and
|
||||
it is not displayed correctly. Especially when the file contains NUL-bytes this
|
||||
can be useful to skip auto detection and open the file properly at least until
|
||||
the occurrence of the first NUL-byte. Using this encoding opens the file as it
|
||||
is without any character conversion.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794154"></a>Unicode Byte-Order-Mark (BOM)</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794770"></a>Unicode Byte-Order-Mark (BOM)</h3></div></div></div><p>
|
||||
Furthermore, <span class="application">Geany</span> detects an Unicode Byte Order Mark
|
||||
(see <a href="http://en.wikipedia.org/wiki/Byte_Order_Mark" target="_top">
|
||||
<em class="citetitle">http://en.wikipedia.org/wiki/Byte_Order_Mark</em>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Search, replace and go to</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"><link rel="next" href="ch03s06.html" title="Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Search, replace and go to</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s06.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="search_replace"></a>Search, replace and go to</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Search, replace and go to</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s04.html" title="Character sets and Unicode Byte-Order-Mark (BOM)"><link rel="next" href="ch03s06.html" title="Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Search, replace and go to</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s04.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s06.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="search_replace"></a>Search, replace and go to</h2></div></div></div><p>
|
||||
This section describes search-related commands from the Search menu and
|
||||
the editor window's popup menu:
|
||||
</p><p>
|
||||
@ -6,48 +6,48 @@
|
||||
</p><p>
|
||||
* These items are available from the editor window's popup menu, or by
|
||||
using a keyboard shortcut (see <a href="ch03s09.html" title="Keybindings">the section called “Keybindings”</a>).
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794269"></a>Find</h3></div></div></div><p>
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794885"></a>Find</h3></div></div></div><p>
|
||||
The Find dialog is used for finding text within the current document.
|
||||
The syntax for the "Use regular expressions" option is shown in
|
||||
<a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.
|
||||
</p><p>
|
||||
</p><div class="figure"><a name="id2794289"></a><p class="title"><b>Figure 3.1. Find dialog</b></p><div class="figure-contents"><div><img src="images/find_dialog.png" alt="Find dialog"></div></div></div><p><br class="figure-break">
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794305"></a>Find usage</h3></div></div></div><p>
|
||||
</p><div class="figure"><a name="id2794905"></a><p class="title"><b>Figure 3.1. Find dialog</b></p><div class="figure-contents"><div><img src="images/find_dialog.png" alt="Find dialog"></div></div></div><p><br class="figure-break">
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794921"></a>Find usage</h3></div></div></div><p>
|
||||
Find usage searches all open files. If there is a selection, then it is used
|
||||
as the search text; otherwise the current word is used.
|
||||
The current word is either taken from the word nearest the edit cursor, or
|
||||
the word underneath the popup menu click position when the popup menu is
|
||||
used.
|
||||
The search results are shown in the Messages window.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794321"></a>Find in files</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794937"></a>Find in files</h3></div></div></div><p>
|
||||
Find in files is a more powerful version of Find usage that searches all files
|
||||
in a certain directory using the Grep tool. The Grep tool must be correctly set
|
||||
in Preferences to the path of the system's Grep utility.
|
||||
</p><p>
|
||||
</p><div class="figure"><a name="id2794336"></a><p class="title"><b>Figure 3.2. Find in files dialog</b></p><div class="figure-contents"><div><img src="images/find_in_files_dialog.png" alt="Find in files dialog"></div></div></div><p><br class="figure-break">
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794352"></a>Replace</h3></div></div></div><p>
|
||||
</p><div class="figure"><a name="id2794952"></a><p class="title"><b>Figure 3.2. Find in files dialog</b></p><div class="figure-contents"><div><img src="images/find_in_files_dialog.png" alt="Find in files dialog"></div></div></div><p><br class="figure-break">
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794968"></a>Replace</h3></div></div></div><p>
|
||||
The Replace dialog has the same options for finding text as the Find
|
||||
dialog. There is also a "Replace in all files" option, which is used with the
|
||||
Replace All button to perform the replacement for all open files.
|
||||
</p><p>
|
||||
</p><div class="figure"><a name="id2794367"></a><p class="title"><b>Figure 3.3. Replace dialog</b></p><div class="figure-contents"><div><img src="images/replace_dialog.png" alt="Replace dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794983"></a><p class="title"><b>Figure 3.3. Replace dialog</b></p><div class="figure-contents"><div><img src="images/replace_dialog.png" alt="Replace dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><p>
|
||||
The "Use regular expressions" option applies both to the search string and
|
||||
to the replacement text; for the latter back references can be used -
|
||||
see the entry for '\n' in <a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794395"></a>Go to tag definition</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795011"></a>Go to tag definition</h3></div></div></div><p>
|
||||
If the current word is the name of a function and the file containing the
|
||||
function definition (a.k.a. function body) is open, Go to tag definition will
|
||||
switch to that file and go to the corresponding line number.
|
||||
The current word is either taken from the word nearest the edit cursor, or
|
||||
the word underneath the popup menu click position when the popup menu is
|
||||
used.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794419"></a>Go to tag declaration</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795035"></a>Go to tag declaration</h3></div></div></div><p>
|
||||
Like Go to tag definition, but for a forward function declaration (a.k.a.
|
||||
function prototype) instead of a function definition.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794432"></a>Go to line</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795048"></a>Go to line</h3></div></div></div><p>
|
||||
Go to a particular line number in the current file.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2794443"></a>Regular expressions</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795059"></a>Regular expressions</h3></div></div></div><p>
|
||||
You can use regular expressions in the Find and Replace dialogs by
|
||||
selecting the "Use regular expressions" check box.
|
||||
The syntax is POSIX-like, as described below in <a href="ch03s05.html#regexp" title="Table 3.2. Regular expressions">Table 3.2, “Regular expressions”</a>.
|
||||
|
@ -1,12 +1,12 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Preferences</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s05.html" title="Search, replace and go to"><link rel="next" href="ch03s07.html" title="Build system"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preferences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s07.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="confdialog"></a>Preferences</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Preferences</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s05.html" title="Search, replace and go to"><link rel="next" href="ch03s07.html" title="Build system"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Preferences</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s05.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s07.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="confdialog"></a>Preferences</h2></div></div></div><p>
|
||||
should be written
|
||||
|
||||
</p><div class="figure"><a name="confdialog_gen"></a><p class="title"><b>Figure 3.4. General tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_gen.png" alt="General tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794730"></a><p class="title"><b>Figure 3.5. Interface tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_interface.png" alt="Interface tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794744"></a><p class="title"><b>Figure 3.6. Toolbar tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_toolbar.png" alt="Toolbar tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794758"></a><p class="title"><b>Figure 3.7. Files tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_files.png" alt="Files tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794773"></a><p class="title"><b>Figure 3.8. Editor tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_edit.png" alt="Editor tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2794787"></a><p class="title"><b>Figure 3.9. Tools tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_tools.png" alt="Tools tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2795346"></a><p class="title"><b>Figure 3.5. Interface tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_interface.png" alt="Interface tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2795360"></a><p class="title"><b>Figure 3.6. Toolbar tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_toolbar.png" alt="Toolbar tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2795374"></a><p class="title"><b>Figure 3.7. Files tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_files.png" alt="Files tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2795389"></a><p class="title"><b>Figure 3.8. Editor tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_edit.png" alt="Editor tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="id2795403"></a><p class="title"><b>Figure 3.9. Tools tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_tools.png" alt="Tools tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="confdialog_templ"></a><p class="title"><b>Figure 3.10. Template tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_templ.png" alt="Template tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="figure"><a name="confdialog_keys"></a><p class="title"><b>Figure 3.11. Keybinding tab in preferences dialog</b></p><div class="figure-contents"><div><img src="images/pref_dialog_keys.png" alt="Keybinding tab in preferences dialog"></div></div></div><p><br class="figure-break">
|
||||
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>For more information see <a href="ch03s09.html" title="Keybindings">the section called “Keybindings”</a>.</p></div><p>
|
||||
@ -16,7 +16,7 @@
|
||||
options, edit the file <code class="filename">src/geany.h</code>.
|
||||
Look for a block of lines starting with “<span class="quote">#define GEANY_*</span>”.
|
||||
Any definitions which are not listed here should not be changed.
|
||||
</p><div class="table"><a name="id2794892"></a><p class="title"><b>Table 3.3. Compile time options</b></p><div class="table-contents"><table summary="Compile time options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>GEANY_WORDCHARS</td><td>
|
||||
</p><div class="table"><a name="id2795508"></a><p class="title"><b>Table 3.3. Compile time options</b></p><div class="table-contents"><table summary="Compile time options" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>GEANY_WORDCHARS</td><td>
|
||||
These characters define word boundaries when
|
||||
making selections and searching using word matching
|
||||
options.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Build system</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s06.html" title="Preferences"><link rel="next" href="ch03s08.html" title="Printing support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Build system</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s08.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="build_system"></a>Build system</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Build system</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s06.html" title="Preferences"><link rel="next" href="ch03s08.html" title="Printing support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Build system</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s06.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s08.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="build_system"></a>Build system</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> has an integrated build system.
|
||||
Firstly this means that the current source file will be saved before
|
||||
it is processed. This is for convenience so that you don't need to keep saving
|
||||
@ -15,7 +15,7 @@
|
||||
Depending on the current file's filetype, the Build menu will contain the following
|
||||
items:
|
||||
</p><div class="itemizedlist"><ul type="disc"><li><p>Compile</p></li><li><p>Build</p></li><li><p>Make all</p></li><li><p>Make custom target</p></li><li><p>Make object</p></li><li><p>Execute</p></li><li><p>Set Includes and Arguments</p></li></ul></div><p>
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795368"></a>Compile</h3></div></div></div><p>
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795984"></a>Compile</h3></div></div></div><p>
|
||||
The Compile command has different uses for different kinds of files.
|
||||
</p><p>
|
||||
For compilable languages such as C and C++, the Compile command is setup
|
||||
@ -25,28 +25,28 @@
|
||||
Interpreted languages such as Perl, Python, Ruby will
|
||||
compile to bytecode if the language supports it, or will run a syntax check,
|
||||
or failing that will run the file in its language interpreter.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795393"></a>Build</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796009"></a>Build</h3></div></div></div><p>
|
||||
For compilable languages such as C and C++, the Build command will link the
|
||||
current source file's equivalent object file into an executable. If the object
|
||||
file does not exist, the source will be compiled and linked in one step,
|
||||
producing just the executable binary.
|
||||
</p><p>
|
||||
Interpreted languages do not use the Build command.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795412"></a>Make all</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796028"></a>Make all</h3></div></div></div><p>
|
||||
This effectively runs "make all" in the same directory as the current file.
|
||||
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
|
||||
For each of the Make commands, The Make tool path must be correctly set
|
||||
in the Tools tab of the Preferences dialog.
|
||||
</p></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795431"></a>Make custom target</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796047"></a>Make custom target</h3></div></div></div><p>
|
||||
This is similar to running 'Make all' but you will be prompted
|
||||
for the make target name to be passed to the Make tool. For example,
|
||||
typing 'clean' in the dialog prompt will run "make clean".
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795444"></a>Make object</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796060"></a>Make object</h3></div></div></div><p>
|
||||
Make object will run "make current_file.o" in the same directory as the current
|
||||
file, using its prefix for 'current_file'. It is useful for compiling just the
|
||||
current file without building the whole project.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795458"></a>Execute</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796074"></a>Execute</h3></div></div></div><p>
|
||||
Execute will run the corresponding executable file, shell script or interpreted
|
||||
script in a terminal window. Note that the Terminal tool path must be correctly
|
||||
set in the Tools tab of the Preferences dialog - you can use any terminal
|
||||
@ -56,7 +56,7 @@
|
||||
After your program or script has finished executing, you will be prompted to
|
||||
press the return key. This allows you to review any text output from the program
|
||||
before the terminal window is closed.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2795481"></a>Stopping running processes</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2796097"></a>Stopping running processes</h3></div></div></div><p>
|
||||
If you started a build action (Compile, Build or Run) the Run button in the
|
||||
toolbar becomes a stop button and you can stop the curent action. This works
|
||||
by sending a signal to the process (and its child process(es)) to stop the
|
||||
@ -68,7 +68,7 @@
|
||||
processes and these child processes creates again child process. There might be
|
||||
some other programs which cannot be stopped correctly, e.g. "Terminal" (the
|
||||
terminal program of Xfce). Xterm is known to work properly.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745299"></a>Set Includes and Arguments</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745909"></a>Set Includes and Arguments</h3></div></div></div><p>
|
||||
By default the Compile and Build commands invoke the compiler and linker with
|
||||
only the basic arguments needed by all programs.
|
||||
Using Set Includes and Arguments you can add any include
|
||||
@ -84,14 +84,14 @@
|
||||
</p><p>
|
||||
If you need complex settings for your build system, or several different
|
||||
settings, then writing a Makefile and using the Make commands is recommended.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745340"></a>Indicators</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745950"></a>Indicators</h3></div></div></div><p>
|
||||
Indicators are red squiggly underlines which are used to highlight errors which
|
||||
occured while compiling the current file. So you can easily see where your code
|
||||
failed to compile. To remove the indicators, just click on
|
||||
"Remove all indicators" in the document file menu.
|
||||
</p><p>
|
||||
If you do not like this feature, you can disable it in the preferences dialog.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745360"></a>File type configuration settings</h3></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2745969"></a>File type configuration settings</h3></div></div></div><p>
|
||||
You can set the commands to run for compiling, building or executing
|
||||
by opening the relevant <code class="filename">filetypes.*</code> configuration file,
|
||||
and checking the [build_settings] section. See <a href="ch04.html#filetypes" title="Filetype definition files">the section called “Filetype definition files”</a> for more
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Printing support</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s07.html" title="Build system"><link rel="next" href="ch03s09.html" title="Keybindings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Printing support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s09.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="printing"></a>Printing support</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Printing support</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s07.html" title="Build system"><link rel="next" href="ch03s09.html" title="Keybindings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Printing support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s07.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s09.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="printing"></a>Printing support</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> has basic printing support. This means you can
|
||||
print a file by passing the filename of the current file to a command which actually
|
||||
prints the file. However, the printed document contains no syntax highlighting.
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Keybindings</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s08.html" title="Printing support"><link rel="next" href="ch04.html" title="Chapter 4. Configuration files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Keybindings</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="keybindings"></a>Keybindings</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Keybindings</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s08.html" title="Printing support"><link rel="next" href="ch04.html" title="Chapter 4. Configuration files"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Keybindings</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s08.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch04.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="keybindings"></a>Keybindings</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> supports the default keyboard shortcuts for the
|
||||
Scintilla editing widget. For a list of these commands, see
|
||||
<a href="apa.html" title="Appendix A. Scintilla keyboard commands">Appendix A, <i>Scintilla keyboard commands</i></a>.
|
||||
@ -21,7 +21,7 @@
|
||||
</p><p>
|
||||
The following table lists all customizable keyboard shortcuts.
|
||||
</p><p>
|
||||
</p><div class="table"><a name="id2795935"></a><p class="title"><b>Table 3.4. Keybindings action table</b></p><div class="table-contents"><table summary="Keybindings action table" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td colspan="2" align="left">Menu items</td></tr><tr><td>New</td><td>Creates a new file.</td></tr><tr><td>Open</td><td>Opens a file.</td></tr><tr><td>Save</td><td>Saves the current file.</td></tr><tr><td>Save all</td><td>Saves all open files.</td></tr><tr><td>Close all</td><td>Closes all open files.</td></tr><tr><td>Close</td><td>Closes the current file.</td></tr><tr><td>Reload file</td><td>Reloads the current file. All unsaved changes will be lost.
|
||||
</p><div class="table"><a name="id2796551"></a><p class="title"><b>Table 3.4. Keybindings action table</b></p><div class="table-contents"><table summary="Keybindings action table" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col></colgroup><thead><tr><th>Action</th><th>Description</th></tr></thead><tbody><tr><td colspan="2" align="left">Menu items</td></tr><tr><td>New</td><td>Creates a new file.</td></tr><tr><td>Open</td><td>Opens a file.</td></tr><tr><td>Save</td><td>Saves the current file.</td></tr><tr><td>Save all</td><td>Saves all open files.</td></tr><tr><td>Close all</td><td>Closes all open files.</td></tr><tr><td>Close</td><td>Closes the current file.</td></tr><tr><td>Reload file</td><td>Reloads the current file. All unsaved changes will be lost.
|
||||
</td></tr><tr><td>Print</td><td>Prints the current file.</td></tr><tr><td>Undo</td><td>Undoes the last action.</td></tr><tr><td>Redo</td><td>Redoes the last action.</td></tr><tr><td>Select all</td><td>Makes a selection of all text in the current document.
|
||||
</td></tr><tr><td>Preferences</td><td>Opens preferences dialog.</td></tr><tr><td>Find Next</td><td>Finds next result.</td></tr><tr><td>Find Previous</td><td>Finds previous result.</td></tr><tr><td>Replace</td><td>Opens the Replace dialog.</td></tr><tr><td>Find in files</td><td>Opens the Find in files dialog.</td></tr><tr><td>Go to line</td><td>Opens the Go to line dialog.</td></tr><tr><td>Show Colour Chooser</td><td>Opens the Colour Chooser dialog.</td></tr><tr><td>Fullscreen</td><td>Switches to fullscreen mode.</td></tr><tr><td>Toggle Messages Window</td><td>Toggles the message window (status and compiler messages)
|
||||
on and off.
|
||||
|
@ -1,42 +0,0 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="
|
||||
Geany 0.8
|
||||
"><link rel="up" href="ch03.html" title="Chapter 3. Usage"><link rel="prev" href="ch03s09.html" title="Filetype definition files"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2754958"></a>Templates</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> supports several templates for file headers, multiline
|
||||
comments (frame comments), function descriptions, a typical ChangeLog entry and a short GPL notice.
|
||||
To use these templates, just open the Edit menu or open the popup menu by right-clicking in the
|
||||
editor widget, and choose "Insert Comments" and insert templates as you want.
|
||||
</p><p>
|
||||
Some templates (like file header or ChangeLog entry) will always be inserted at the top of the file.
|
||||
</p><p>
|
||||
To insert a function description, the cursor must be inside of the function, so that the function
|
||||
name can be determined automatically. The description will be positioned correctly one line above
|
||||
the function, just check it out. If the cursor is not inside of a function or the function name cannot
|
||||
be determined, you cannot insert a function description.
|
||||
</p><p>
|
||||
Each template can be customized to your needs. The templates are in the configuration directory, which
|
||||
is in <code class="filename">~/.geany/</code> (see <a href="ch03s02.html" title="Command line options">the section called “Command line options”</a> for further information about the
|
||||
configuration directory). Just open the desired template with an editor (ideally Geany ;-) ) and edit
|
||||
the template as your needs. There are some wildcards which will be automatically replaced by
|
||||
<span class="application">Geany</span> at startup.
|
||||
</p><p>
|
||||
All wildcards must be enclosed by "{" and "}", e.g. {date}.
|
||||
</p><p>
|
||||
In the configuration dialog you can find a tab "Templates" (see <a href="ch03s05.html#confdialog_templ" title="Figure 3.5. Template tab in preferences dialog">Figure 3.5, “Template tab in preferences dialog”</a>).
|
||||
You can define the default values which will be inserted in the templates. You should restart
|
||||
<span class="application">Geany</span> after making changes, because they are only read at startup.
|
||||
</p><p>
|
||||
Since <span class="application">Geany</span> 0.3 there are also templates for creating new files.
|
||||
They can be found in <code class="filename">~/.geany/</code>, too.
|
||||
All template files for creating new files begin with
|
||||
<code class="filename">template.filetype.</code> followed by the filetype.
|
||||
At creating a new file with a filetype template, the template for the fileheader is automatically prepended.
|
||||
Please note that the complete behaviour is still under development and will probably be changed in one of
|
||||
the next releases. Sorry.
|
||||
</p><p> </p><p>
|
||||
</p><div class="table"><a name="id2755076"></a><p class="title"><b>Table 3.8. Template wildcards</b></p><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
|
||||
Enrico Tröger or "JFD" for John Foobar Doe.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>mail</td><td>The email address of the developer.</td><td>file header, function description, ChangeLog entry</td></tr><tr><td>company</td><td>The company the developer is working for.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>year</td><td>The current year in the format: YYYY</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>version</td><td>The initial version of a new file.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>date</td><td>The current date in the format: YYYY-MM-DD</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>untitled</td><td>The string "untitled" (this will be translated to your locale),
|
||||
used in filetype templates</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>geanyversion</td><td>The actual Geany version, e.g. "Geany 0.8"</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>datetime</td><td>The current date and time in the format: DD.MM.YYYY HH:mm:ss ZZZZ</td><td>file header, function description</td></tr><tr><td>filename</td><td>The filename of the current file. Only available for the file header template.</td><td>file header</td></tr><tr><td>gpl</td><td>This wildcard inserts a short GPL notice.</td><td>file header</td></tr><tr><td>functionname</td><td>The function name of the function at the cursor position.
|
||||
This wildcard will only be replaced in the function
|
||||
description template.</td><td>function description</td></tr></tbody></table></div><p>
|
||||
If you need any other wildcards or a special date/time format, please email the author <code class="email"><<a href="mailto:enrico.troeger@uvena.de">enrico.troeger@uvena.de</a>></code>.
|
||||
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Filetype definition files </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Appendix A. Scintilla keyboard commands</td></tr></table></div></body></html>
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 4. Configuration files</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="index.html" title="Geany 0.10"><link rel="prev" href="ch03s09.html" title="Keybindings"><link rel="next" href="ch04s02.html" title="Filetype extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Configuration files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="config_files"></a>Chapter 4. Configuration files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetypes"></a>Filetype definition files</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 4. Configuration files</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="index.html" title="Geany 0.10.2"><link rel="prev" href="ch03s09.html" title="Keybindings"><link rel="next" href="ch04s02.html" title="Filetype extensions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Configuration files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s09.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="config_files"></a>Chapter 4. Configuration files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetypes"></a>Filetype definition files</h2></div></div></div><p>
|
||||
All colour definitions and other filetype specific settings are stored in the
|
||||
filetype definition files. Those settings are colours for syntax highlighting,
|
||||
general settings like comment characters or word delimiter characters as well as
|
||||
@ -27,7 +27,7 @@
|
||||
<code class="filename">~/.geany/filedefs/filetypes.X</code> and add only these settings you
|
||||
want to change. All missing settings will be read from the corresponding global
|
||||
definition file in <code class="filename">$prefix/share/geany</code>.
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="filetypes_format"></a>Format</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796800"></a>[styling] Section</h4></div></div></div><p>
|
||||
</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="filetypes_format"></a>Format</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797416"></a>[styling] Section</h4></div></div></div><p>
|
||||
In this section the colours for syntax highlighting are defined.
|
||||
The format is always:
|
||||
<code class="constant">key=forground_colour;background_colour;bold;italic</code>
|
||||
@ -37,14 +37,14 @@
|
||||
but it is a good idea to use small letters. Bold and italic are flags and
|
||||
should only be "true" or "false". If their value is something other than
|
||||
"true" or "false", "false" is assumed.
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796825"></a>[keywords] Section</h4></div></div></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797441"></a>[keywords] Section</h4></div></div></div><p>
|
||||
This section contains keys for different keyword lists specific to the
|
||||
filetype. Some filetypes do not support keywords, so adding a new key will
|
||||
not work. You can only add or remove keywords to/from an existing list.
|
||||
</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>The keywords list must be in one line without line ending
|
||||
characters.</p></div><p>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2796845"></a>[settings] Section</h4></div></div></div><p>
|
||||
</p><div class="table"><a name="id2796853"></a><p class="title"><b>Table 4.1. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>wordchars</td><td>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797461"></a>[settings] Section</h4></div></div></div><p>
|
||||
</p><div class="table"><a name="id2797469"></a><p class="title"><b>Table 4.1. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>wordchars</td><td>
|
||||
These characters define word boundaries when
|
||||
making selections and searching using word matching
|
||||
options.
|
||||
@ -56,7 +56,7 @@
|
||||
</td><td>comment_close=*/</td></tr><tr><td>comment_use_indent</td><td>Set this to false if a comment character or string
|
||||
should start at column 0 of a line. If set to true
|
||||
it uses any indentation of the line.
|
||||
<div class="example"><a name="id2796950"></a><p class="title"><b>Example 4.1. Comment indentation</b></p><div class="example-contents"><p>
|
||||
<div class="example"><a name="id2797566"></a><p class="title"><b>Example 4.1. Comment indentation</b></p><div class="example-contents"><p>
|
||||
comment_use_indent=true would generate this if a line
|
||||
is commented (e.g. with
|
||||
<span><strong class="keycap">Ctrl</strong></span>-<span><strong class="keycap">D</strong></span>)
|
||||
@ -70,8 +70,8 @@
|
||||
This setting only works for single line comments.
|
||||
</p></div>
|
||||
</td><td>comment_use_indent=true</td></tr></tbody></table></div></div><p><br class="table-break">
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797019"></a>[build_settings] Section</h4></div></div></div><p>
|
||||
</p><div class="table"><a name="id2797027"></a><p class="title"><b>Table 4.2. Build settings</b></p><div class="table-contents"><table summary="Build settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>compiler</td><td>
|
||||
</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2797635"></a>[build_settings] Section</h4></div></div></div><p>
|
||||
</p><div class="table"><a name="id2797643"></a><p class="title"><b>Table 4.2. Build settings</b></p><div class="table-contents"><table summary="Build settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>compiler</td><td>
|
||||
This item specifies the command to compile source code
|
||||
files. But it is also possible to use it with
|
||||
interpreted languages like Perl or Python. With these
|
||||
@ -107,7 +107,7 @@
|
||||
<code class="filename">filetypes.common</code>. This file defines some general
|
||||
non-filetype-specific settings.
|
||||
</p><p>
|
||||
</p><div class="table"><a name="id2797181"></a><p class="title"><b>Table 4.3. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>selection</td><td>
|
||||
</p><div class="table"><a name="id2797797"></a><p class="title"><b>Table 4.3. General settings</b></p><div class="table-contents"><table summary="General settings" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Key</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>selection</td><td>
|
||||
The style for colouring selected text.
|
||||
The format is:
|
||||
<div class="itemizedlist"><ul type="disc"><li><p>Foreground colour</p></li><li><p>Background colour</p></li><li><p>Use foreground colour</p></li><li><p>Use background colour</p></li></ul></div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Filetype extensions</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04.html" title="Chapter 4. Configuration files"><link rel="next" href="ch04s03.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Filetype extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetype_extensions"></a>Filetype extensions</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Filetype extensions</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04.html" title="Chapter 4. Configuration files"><link rel="next" href="ch04s03.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Filetype extensions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="filetype_extensions"></a>Filetype extensions</h2></div></div></div><p>
|
||||
You can override the default extensions that <span class="application">Geany</span> uses
|
||||
for each filetype using the <code class="filename">filetype_extensions.conf</code> file.
|
||||
</p><p>
|
||||
|
@ -1,4 +1,4 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04s02.html" title="Filetype extensions"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2797595"></a>Templates</h2></div></div></div><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="up" href="ch04.html" title="Chapter 4. Configuration files"><link rel="prev" href="ch04s02.html" title="Filetype extensions"><link rel="next" href="apa.html" title="Appendix A. Scintilla keyboard commands"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Templates</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s02.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Configuration files</th><td width="20%" align="right"> <a accesskey="n" href="apa.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2798211"></a>Templates</h2></div></div></div><p>
|
||||
<span class="application">Geany</span> supports several templates for file headers,
|
||||
multiline comments (frame comments), function descriptions, a typical ChangeLog entry
|
||||
and a short GPL notice. To use these templates, just open the Edit menu or open the
|
||||
@ -34,10 +34,10 @@
|
||||
followed by the filetype. At creating a new file with a filetype template, the
|
||||
template for the fileheader is automatically prepended.
|
||||
</p><p> </p><p>
|
||||
</p><div class="table"><a name="id2797717"></a><p class="title"><b>Table 4.4. Template wildcards</b></p><div class="table-contents"><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
|
||||
</p><div class="table"><a name="id2798333"></a><p class="title"><b>Table 4.4. Template wildcards</b></p><div class="table-contents"><table summary="Template wildcards" cellspacing="0" cellpadding="4" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Wildcard</th><th>Description</th><th>Available in following templates</th></tr></thead><tbody><tr><td>developer</td><td>The name of the developer.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>initial</td><td>The developer's initials, e.g. "ET" for
|
||||
Enrico Tröger or "JFD" for John Foobar Doe.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>mail</td><td>The email address of the developer.</td><td>file header, function description, ChangeLog entry</td></tr><tr><td>company</td><td>The company the developer is working for.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>year</td><td>The current year in the format: YYYY</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>version</td><td>The initial version of a new file.</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>date</td><td>The current date in the format: YYYY-MM-DD</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>untitled</td><td>The string "untitled" (this will be translated to your locale),
|
||||
used in filetype templates</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>geanyversion</td><td>The actual <span class="application">Geany</span> version,
|
||||
e.g. "Geany 0.10"
|
||||
e.g. "Geany 0.10.2"
|
||||
</td><td>filetypes, file header, function description, ChangeLog entry</td></tr><tr><td>datetime</td><td>The current date and time in the format: DD.MM.YYYY HH:mm:ss ZZZZ</td><td>file header, function description</td></tr><tr><td>filename</td><td>The filename of the current file. Only available for the file header template.</td><td>file header</td></tr><tr><td>gpl</td><td>This wildcard inserts a short GPL notice.</td><td>file header</td></tr><tr><td>functionname</td><td>The function name of the function at the cursor position.
|
||||
This wildcard will only be replaced in the function
|
||||
description template.</td><td>function description</td></tr></tbody></table></div></div><p><br class="table-break">
|
||||
|
@ -1,29 +1,29 @@
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Geany 0.10</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
|
||||
Geany 0.10
|
||||
</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2676060"></a>
|
||||
Geany 0.10
|
||||
</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Enrico</span> <span class="surname">Tröger</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Nick</span> <span class="surname">Treleaven</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Frank</span> <span class="surname">Lanitz</span></h3></div></div><div><p class="copyright">Copyright © 2005-2006 </p></div><div><div class="legalnotice"><a name="id2784254"></a><p>
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Geany 0.10.2</title><link rel="stylesheet" href="geany.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Geany 0.10.2"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">
|
||||
Geany 0.10.2
|
||||
</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id2746391"></a>
|
||||
Geany 0.10.2
|
||||
</h1></div><div><div class="author"><h3 class="author"><span class="firstname">Enrico</span> <span class="surname">Tröger</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Nick</span> <span class="surname">Treleaven</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Frank</span> <span class="surname">Lanitz</span></h3></div></div><div><p class="copyright">Copyright © 2005-2007 </p></div><div><div class="legalnotice"><a name="id2784881"></a><p>
|
||||
This document is distributed under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option) any later version.
|
||||
A copy of this license can be found in the file COPYING included with the source code of this
|
||||
program and see <a href="apb.html" title="Appendix B. GNU General Public License">Appendix B, <i>GNU General Public License</i></a>.
|
||||
</p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1.
|
||||
Introduction
|
||||
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2784276">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2.
|
||||
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2746564">About Geany</a></span></dt><dt><span class="section"><a href="ch01s02.html">About this document</a></span></dt><dt><span class="section"><a href="ch01s03.html">Where to get it</a></span></dt><dt><span class="section"><a href="ch01s04.html">License</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2.
|
||||
Installation
|
||||
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2746438">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2746702">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746730">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746756">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2746767">Gentoo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Usage</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794005">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794136">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794154">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794269">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794305">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794321">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794352">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794395">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794419">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794432">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794443">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795368">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795393">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795412">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795431">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795444">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795458">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2795481">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745299">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745340">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745360">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Configuration files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">A. Scintilla keyboard commands</a></span></dt><dd><dl><dt><span class="sect1"><a href="apa.html#id2798042">
|
||||
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2747048">Requirements</a></span></dt><dt><span class="section"><a href="ch02s02.html">Source compilation</a></span></dt><dt><span class="section"><a href="ch02s03.html">Binary packages</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#id2747323">Fedora</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747350">Debian</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747376">SuSE</a></span></dt><dt><span class="section"><a href="ch02s03.html#id2747387">Gentoo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Usage</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#getting_started">Getting started</a></span></dt><dt><span class="section"><a href="ch03s02.html">Command line options</a></span></dt><dt><span class="section"><a href="ch03s03.html">General</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s03.html#general_startup">Startup</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_instance">Opening files from the command-line in a running instance</a></span></dt><dt><span class="section"><a href="ch03s03.html#general_vte">Virtual terminal emulator widget (VTE)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s04.html">Character sets and Unicode Byte-Order-Mark (BOM)</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s04.html#id2794621">Using character sets</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794752">Special encoding "None"</a></span></dt><dt><span class="section"><a href="ch03s04.html#id2794770">Unicode Byte-Order-Mark (BOM)</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s05.html">Search, replace and go to</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s05.html#id2794885">Find</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794921">Find usage</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794937">Find in files</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2794968">Replace</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795011">Go to tag definition</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795035">Go to tag declaration</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795048">Go to line</a></span></dt><dt><span class="section"><a href="ch03s05.html#id2795059">Regular expressions</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s06.html">Preferences</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#cto">Compile time options</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s07.html">Build system</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s07.html#id2795984">Compile</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796009">Build</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796028">Make all</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796047">Make custom target</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796060">Make object</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796074">Execute</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2796097">Stopping running processes</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745909">Set Includes and Arguments</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745950">Indicators</a></span></dt><dt><span class="section"><a href="ch03s07.html#id2745969">File type configuration settings</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s08.html">Printing support</a></span></dt><dt><span class="section"><a href="ch03s09.html">Keybindings</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Configuration files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes">Filetype definition files</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#filetypes_format">Format</a></span></dt><dt><span class="section"><a href="ch04.html#filetypes_common">Special file filetypes.common</a></span></dt></dl></dd><dt><span class="section"><a href="ch04s02.html">Filetype extensions</a></span></dt><dt><span class="section"><a href="ch04s03.html">Templates</a></span></dt></dl></dd><dt><span class="appendix"><a href="apa.html">A. Scintilla keyboard commands</a></span></dt><dd><dl><dt><span class="sect1"><a href="apa.html#id2798657">
|
||||
Keyboard commands
|
||||
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. GNU General Public License</a></span></dt><dd><dl><dt><span class="sect1"><a href="apb.html#id2798471">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2799701">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799887">Section 3
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2799987">Section 4
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800005">Section 5
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800023">Section 6
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800040">Section 7
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800091">Section 8
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800109">Section 9
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800142">Section 10
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800160">Section 11 NO WARRANTY
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800181">Section 12
|
||||
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apb.html">B. GNU General Public License</a></span></dt><dd><dl><dt><span class="sect1"><a href="apb.html#id2799087">Preamble</a></span></dt><dt><span class="sect1"><a href="apbs02.html">TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</a></span></dt><dd><dl><dt><span class="sect2"><a href="apbs02.html#id2800317">Section 0</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect1">Section 1</a></span></dt><dt><span class="sect2"><a href="apbs02.html#sect2">Section 2</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800503">Section 3
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800604">Section 4
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800621">Section 5
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800640">Section 6
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800657">Section 7
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800707">Section 8
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800725">Section 9
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800758">Section 10
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800777">Section 11 NO WARRANTY
|
||||
</a></span></dt><dt><span class="sect2"><a href="apbs02.html#id2800797">Section 12
|
||||
</a></span></dt></dl></dd><dt><span class="sect1"><a href="apbs03.html">How to Apply These Terms to Your New Programs
|
||||
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apc.html">C. License for Scintilla and SciTE</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>3.1. <a href="ch03s05.html#id2794289">Find dialog</a></dt><dt>3.2. <a href="ch03s05.html#id2794336">Find in files dialog</a></dt><dt>3.3. <a href="ch03s05.html#id2794367">Replace dialog</a></dt><dt>3.4. <a href="ch03s06.html#confdialog_gen">General tab in preferences dialog</a></dt><dt>3.5. <a href="ch03s06.html#id2794730">Interface tab in preferences dialog</a></dt><dt>3.6. <a href="ch03s06.html#id2794744">Toolbar tab in preferences dialog</a></dt><dt>3.7. <a href="ch03s06.html#id2794758">Files tab in preferences dialog</a></dt><dt>3.8. <a href="ch03s06.html#id2794773">Editor tab in preferences dialog</a></dt><dt>3.9. <a href="ch03s06.html#id2794787">Tools tab in preferences dialog</a></dt><dt>3.10. <a href="ch03s06.html#confdialog_templ">Template tab in preferences dialog</a></dt><dt>3.11. <a href="ch03s06.html#confdialog_keys">Keybinding tab in preferences dialog</a></dt><dt>3.12. <a href="ch03s06.html#confdialog_vte">VTE tab in preferences dialog</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="ch03s02.html#id2746904">Command line Options</a></dt><dt>3.2. <a href="ch03s05.html#regexp">Regular expressions</a></dt><dt>3.3. <a href="ch03s06.html#id2794892">Compile time options</a></dt><dt>3.4. <a href="ch03s09.html#id2795935">Keybindings action table</a></dt><dt>4.1. <a href="ch04.html#id2796853">General settings</a></dt><dt>4.2. <a href="ch04.html#id2797027">Build settings</a></dt><dt>4.3. <a href="ch04.html#id2797181">General settings</a></dt><dt>4.4. <a href="ch04s03.html#id2797717">Template wildcards</a></dt><dt>A.1. <a href="apa.html#id2798676">Scintilla keyboard commands</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>4.1. <a href="ch04.html#id2796950">Comment indentation</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1.
|
||||
</a></span></dt></dl></dd><dt><span class="appendix"><a href="apc.html">C. License for Scintilla and SciTE</a></span></dt></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>3.1. <a href="ch03s05.html#id2794905">Find dialog</a></dt><dt>3.2. <a href="ch03s05.html#id2794952">Find in files dialog</a></dt><dt>3.3. <a href="ch03s05.html#id2794983">Replace dialog</a></dt><dt>3.4. <a href="ch03s06.html#confdialog_gen">General tab in preferences dialog</a></dt><dt>3.5. <a href="ch03s06.html#id2795346">Interface tab in preferences dialog</a></dt><dt>3.6. <a href="ch03s06.html#id2795360">Toolbar tab in preferences dialog</a></dt><dt>3.7. <a href="ch03s06.html#id2795374">Files tab in preferences dialog</a></dt><dt>3.8. <a href="ch03s06.html#id2795389">Editor tab in preferences dialog</a></dt><dt>3.9. <a href="ch03s06.html#id2795403">Tools tab in preferences dialog</a></dt><dt>3.10. <a href="ch03s06.html#confdialog_templ">Template tab in preferences dialog</a></dt><dt>3.11. <a href="ch03s06.html#confdialog_keys">Keybinding tab in preferences dialog</a></dt><dt>3.12. <a href="ch03s06.html#confdialog_vte">VTE tab in preferences dialog</a></dt></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="ch03s02.html#id2747524">Command line Options</a></dt><dt>3.2. <a href="ch03s05.html#regexp">Regular expressions</a></dt><dt>3.3. <a href="ch03s06.html#id2795508">Compile time options</a></dt><dt>3.4. <a href="ch03s09.html#id2796551">Keybindings action table</a></dt><dt>4.1. <a href="ch04.html#id2797469">General settings</a></dt><dt>4.2. <a href="ch04.html#id2797643">Build settings</a></dt><dt>4.3. <a href="ch04.html#id2797797">General settings</a></dt><dt>4.4. <a href="ch04s03.html#id2798333">Template wildcards</a></dt><dt>A.1. <a href="apa.html#id2799292">Scintilla keyboard commands</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>4.1. <a href="ch04.html#id2797566">Comment indentation</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1.
|
||||
Introduction
|
||||
</td></tr></table></div></body></html>
|
||||
|
@ -11,6 +11,7 @@ Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;GTK;Development;IDE;
|
||||
Encoding=UTF-8
|
||||
MimeType=text/plain;text/html;text/css;text/x-chdr;text/x-csrc;text/x-c++src;text/x-java;text/x-dsrc;text/x-sql;application/x-php;
|
||||
# currently false, changes perhaps in the future
|
||||
StartupNotify=false
|
||||
Version=1.1
|
||||
|
340
po/be.po
340
po/be.po
@ -5,9 +5,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: geany 0.10\n"
|
||||
"Project-Id-Version: geany 0.10.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-12-19 20:42+0100\n"
|
||||
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
|
||||
"PO-Revision-Date: 2006-06-01 10:55+0200\n"
|
||||
"Last-Translator: Yura Semashko <yurand2@gmail.com>\n"
|
||||
"Language-Team: Belarusian <yurand2@gmail.com>\n"
|
||||
@ -118,7 +118,7 @@ msgstr "Захаваць усе"
|
||||
msgid "Saves all open files"
|
||||
msgstr "Захаваць усе адчыненыя файлы"
|
||||
|
||||
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
|
||||
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
|
||||
msgid "_Reload"
|
||||
msgstr "Загрузіць зноў"
|
||||
|
||||
@ -985,7 +985,7 @@ msgstr "Тып:"
|
||||
msgid "Sets the color of the long line marker"
|
||||
msgstr "Усталяваць колер маркёра доўгага радка"
|
||||
|
||||
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
|
||||
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
|
||||
msgid "Color Chooser"
|
||||
msgstr "Выбар колеру"
|
||||
|
||||
@ -1251,79 +1251,79 @@ msgstr "Прывязкі клявіш"
|
||||
msgid "Do you really want to quit?"
|
||||
msgstr "Вы ўпэўнены што жадаеце выйсьці?"
|
||||
|
||||
#: src/callbacks.c:474
|
||||
#: src/callbacks.c:491
|
||||
msgid "Any unsaved changes will be lost."
|
||||
msgstr "Усе незахаваныя зьмяненьні зьнікнуць."
|
||||
|
||||
#: src/callbacks.c:475
|
||||
#: src/callbacks.c:492
|
||||
#, c-format
|
||||
msgid "Are you sure you want to reload '%s'?"
|
||||
msgstr "Вы упэўнены што жадаеце загрузіць зноў '%s?'"
|
||||
|
||||
#: src/callbacks.c:860
|
||||
#: src/callbacks.c:877
|
||||
#, c-format
|
||||
msgid "The file '%s' already exists. Do you want to overwrite it?"
|
||||
msgstr "Файл '%s' ужо існуе. Замяніць яго?"
|
||||
|
||||
#: src/callbacks.c:1230
|
||||
#, c-format
|
||||
#: src/callbacks.c:1247
|
||||
#, fuzzy, c-format
|
||||
msgid "Declaration of \"%s()\" not found"
|
||||
msgstr "Аб'яуленне \"%s()\" не знойдзена"
|
||||
msgstr "Рэалізацыя \"%s()\" не знойдзена\""
|
||||
|
||||
#: src/callbacks.c:1232
|
||||
#, c-format
|
||||
#: src/callbacks.c:1249
|
||||
#, fuzzy, c-format
|
||||
msgid "Definition of \"%s()\" not found"
|
||||
msgstr "Рэалізацыя \"%s()\" не знойдзена\""
|
||||
|
||||
#: src/callbacks.c:1437 src/callbacks.c:1482
|
||||
#: src/callbacks.c:1454 src/callbacks.c:1499
|
||||
msgid ""
|
||||
"Please set the filetype for the current file before using this function."
|
||||
msgstr "Калі ласка вызначыце тып файла перад выкарыстоўваньнем гэтай функцыі"
|
||||
|
||||
#: src/callbacks.c:1598 src/ui_utils.c:557
|
||||
#: src/callbacks.c:1615 src/ui_utils.c:561
|
||||
msgid "dd.mm.yyyy"
|
||||
msgstr "dd.mm.yyyy"
|
||||
|
||||
#: src/callbacks.c:1600 src/ui_utils.c:558
|
||||
#: src/callbacks.c:1617 src/ui_utils.c:562
|
||||
msgid "mm.dd.yyyy"
|
||||
msgstr "mm.dd.yyyy"
|
||||
|
||||
#: src/callbacks.c:1602 src/ui_utils.c:559
|
||||
#: src/callbacks.c:1619 src/ui_utils.c:563
|
||||
msgid "yyyy/mm/dd"
|
||||
msgstr "yyyy/mm/dd"
|
||||
|
||||
#: src/callbacks.c:1604 src/ui_utils.c:568
|
||||
#: src/callbacks.c:1621 src/ui_utils.c:572
|
||||
msgid "dd.mm.yyyy hh:mm:ss"
|
||||
msgstr "dd.mm.yyyy hh:mm:ss"
|
||||
|
||||
#: src/callbacks.c:1606 src/ui_utils.c:569
|
||||
#: src/callbacks.c:1623 src/ui_utils.c:573
|
||||
msgid "mm.dd.yyyy hh:mm:ss"
|
||||
msgstr "mm.dd.yyyy hh:mm:ss"
|
||||
|
||||
#: src/callbacks.c:1608 src/ui_utils.c:570
|
||||
#: src/callbacks.c:1625 src/ui_utils.c:574
|
||||
msgid "yyyy/mm/dd hh:mm:ss"
|
||||
msgstr "yyyy/mm/dd hh:mm:ss"
|
||||
|
||||
#: src/callbacks.c:1610 src/ui_utils.c:579
|
||||
#: src/callbacks.c:1627 src/ui_utils.c:583
|
||||
msgid "Use Custom Date Format"
|
||||
msgstr "Выкарыстоўваць свой фармат даты"
|
||||
|
||||
#: src/callbacks.c:1621
|
||||
#: src/callbacks.c:1638
|
||||
msgid "Custom Date Format"
|
||||
msgstr "Свой фармат даты"
|
||||
|
||||
#: src/callbacks.c:1622
|
||||
#: src/callbacks.c:1639
|
||||
msgid ""
|
||||
"Enter here a custom date and time format. You can use any conversion "
|
||||
"specifiers which can be used with the ANSI C strftime function. See \"man "
|
||||
"strftime\" for more information."
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1642
|
||||
#: src/callbacks.c:1659
|
||||
msgid "Date format string could not be converted (possibly too long)."
|
||||
msgstr "Фармат даты ня можа быць пераўтвораны (магчыма надта доўгі)."
|
||||
|
||||
#: src/callbacks.c:2030
|
||||
#: src/callbacks.c:2047
|
||||
msgid "No more message items."
|
||||
msgstr "Няма больш паведамленьняў."
|
||||
|
||||
@ -1333,7 +1333,7 @@ msgid "Couldn't find pixmap file: %s"
|
||||
msgstr "Нельга знайсьці pixmap файл: %s"
|
||||
|
||||
#. initialize the dialog
|
||||
#: src/dialogs.c:74 src/prefs.c:1023
|
||||
#: src/dialogs.c:74 src/prefs.c:1017
|
||||
msgid "Open File"
|
||||
msgstr "Адчыніць файл"
|
||||
|
||||
@ -1393,86 +1393,86 @@ msgstr ""
|
||||
msgid "Save File"
|
||||
msgstr "Захаваць файл"
|
||||
|
||||
#: src/dialogs.c:350
|
||||
#: src/dialogs.c:352
|
||||
#, c-format
|
||||
msgid "The file '%s' is not saved."
|
||||
msgstr "Файл '%s' не захаваны."
|
||||
|
||||
#: src/dialogs.c:360
|
||||
#: src/dialogs.c:362
|
||||
msgid "Do you want to save it before closing?"
|
||||
msgstr "Жадаеш захаваць яго перад зачыненьнем?"
|
||||
|
||||
#: src/dialogs.c:363
|
||||
#: src/dialogs.c:365
|
||||
msgid "_Don't save"
|
||||
msgstr "Не захоўваць"
|
||||
|
||||
#: src/dialogs.c:407
|
||||
#: src/dialogs.c:409
|
||||
msgid "Choose font"
|
||||
msgstr "Выбраць шрыфт"
|
||||
|
||||
#: src/dialogs.c:444
|
||||
#: src/dialogs.c:447
|
||||
msgid "Word Count"
|
||||
msgstr "Лічыць словы"
|
||||
|
||||
#: src/dialogs.c:453
|
||||
#: src/dialogs.c:456
|
||||
msgid "selection"
|
||||
msgstr "вылучэньне"
|
||||
|
||||
#: src/dialogs.c:459
|
||||
#: src/dialogs.c:462
|
||||
msgid "whole document"
|
||||
msgstr "увесь дакумэнт"
|
||||
|
||||
#: src/dialogs.c:468
|
||||
#: src/dialogs.c:471
|
||||
msgid "Range:"
|
||||
msgstr "Дыстанцыя:"
|
||||
|
||||
#: src/dialogs.c:480
|
||||
#: src/dialogs.c:483
|
||||
msgid "Lines:"
|
||||
msgstr "Радкі:"
|
||||
|
||||
#: src/dialogs.c:494
|
||||
#: src/dialogs.c:497
|
||||
msgid "Words:"
|
||||
msgstr "Словы:"
|
||||
|
||||
#: src/dialogs.c:508
|
||||
#: src/dialogs.c:511
|
||||
msgid "Characters:"
|
||||
msgstr "Літары:"
|
||||
|
||||
#: src/dialogs.c:607 src/keybindings.c:144
|
||||
#: src/dialogs.c:610 src/keybindings.c:144
|
||||
msgid "Go to line"
|
||||
msgstr "Перайсьці да радка"
|
||||
|
||||
#: src/dialogs.c:613
|
||||
#: src/dialogs.c:616
|
||||
msgid "Enter the line you want to go to:"
|
||||
msgstr "Увядзі радок да якога жадаеш перайсьці:"
|
||||
|
||||
#. arguments
|
||||
#: src/dialogs.c:638 src/build.c:1068
|
||||
#: src/dialogs.c:641 src/build.c:1068
|
||||
msgid "Set Arguments"
|
||||
msgstr "Усталяваць аргумэнты"
|
||||
|
||||
#: src/dialogs.c:644
|
||||
#: src/dialogs.c:647
|
||||
msgid "Set programs and options for compiling and viewing (La)TeX files."
|
||||
msgstr ""
|
||||
"Усталяваць праграмы і наладкі дзеля кампіляцыі і прагляду (La)TeX файлаў."
|
||||
|
||||
#: src/dialogs.c:655
|
||||
#: src/dialogs.c:658
|
||||
msgid "DVI creation:"
|
||||
msgstr "Стварэньне DVI"
|
||||
|
||||
#: src/dialogs.c:674
|
||||
#: src/dialogs.c:677
|
||||
msgid "PDF creation:"
|
||||
msgstr "Стварэньне PDF"
|
||||
|
||||
#: src/dialogs.c:693
|
||||
#: src/dialogs.c:696
|
||||
msgid "DVI preview:"
|
||||
msgstr "Прагляд DVI:"
|
||||
|
||||
#: src/dialogs.c:712
|
||||
#: src/dialogs.c:715
|
||||
msgid "PDF preview:"
|
||||
msgstr "Прагляд PDF:"
|
||||
|
||||
#: src/dialogs.c:728 src/dialogs.c:843
|
||||
#: src/dialogs.c:731 src/dialogs.c:846
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%f will be replaced by the current filename, e.g. test_file.c\n"
|
||||
@ -1481,31 +1481,31 @@ msgstr ""
|
||||
"%f будзе заменены на поўнае імя, напрыклад, test_file.c\n"
|
||||
"%e будзе заменены на імя файла без расшырэньня, напрыклад, test_file"
|
||||
|
||||
#: src/dialogs.c:755
|
||||
#: src/dialogs.c:758
|
||||
msgid "Set Includes and Arguments"
|
||||
msgstr "Усталяваць Includes і аргумэнты"
|
||||
|
||||
#: src/dialogs.c:761
|
||||
#: src/dialogs.c:764
|
||||
msgid "Set the commands for building and running programs."
|
||||
msgstr "Вызначыць каманды для будоўлі і выкананьня праграм."
|
||||
|
||||
#: src/dialogs.c:768
|
||||
#: src/dialogs.c:771
|
||||
msgid " commands"
|
||||
msgstr "Каманды"
|
||||
|
||||
#: src/dialogs.c:783
|
||||
#: src/dialogs.c:786
|
||||
msgid "Compile:"
|
||||
msgstr "Кампіляваць:"
|
||||
|
||||
#: src/dialogs.c:804
|
||||
#: src/dialogs.c:807
|
||||
msgid "Build:"
|
||||
msgstr "Пабудаваць:"
|
||||
|
||||
#: src/dialogs.c:825 src/dialogs.c:1096
|
||||
#: src/dialogs.c:828 src/dialogs.c:1099
|
||||
msgid "Execute:"
|
||||
msgstr "Выканаць:"
|
||||
|
||||
#: src/dialogs.c:890
|
||||
#: src/dialogs.c:893
|
||||
msgid ""
|
||||
"An error occurred or file information could not be retrieved (e.g. from a "
|
||||
"new file)."
|
||||
@ -1513,93 +1513,93 @@ msgstr ""
|
||||
"Адбылася памылка, ці немагчыма атрымаць інфармацыю а файле (г.з. з новага "
|
||||
"файла)."
|
||||
|
||||
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
|
||||
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
|
||||
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
|
||||
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
|
||||
#: src/ui_utils.c:122 src/ui_utils.c:124
|
||||
msgid "unknown"
|
||||
msgstr "невядомы"
|
||||
|
||||
#: src/dialogs.c:923
|
||||
#: src/dialogs.c:926
|
||||
msgid "Properties"
|
||||
msgstr "Уласьцівасьці"
|
||||
|
||||
#: src/dialogs.c:951
|
||||
#: src/dialogs.c:954
|
||||
msgid "<b>Type:</b>"
|
||||
msgstr "<b>Тып:</b>"
|
||||
|
||||
#: src/dialogs.c:964
|
||||
#: src/dialogs.c:967
|
||||
msgid "<b>Size:</b>"
|
||||
msgstr "<b>Памер:</b>"
|
||||
|
||||
#: src/dialogs.c:979
|
||||
#: src/dialogs.c:982
|
||||
msgid "<b>Location:</b>"
|
||||
msgstr "<b>Месца:</b>"
|
||||
|
||||
#: src/dialogs.c:992
|
||||
#: src/dialogs.c:995
|
||||
msgid "<b>Read-only:</b>"
|
||||
msgstr "<b>Толькі чытаць:</b>"
|
||||
|
||||
#: src/dialogs.c:999
|
||||
#: src/dialogs.c:1002
|
||||
msgid "(only inside Geany)"
|
||||
msgstr "(толькі ў Geany)"
|
||||
|
||||
#: src/dialogs.c:1008
|
||||
#: src/dialogs.c:1011
|
||||
msgid "<b>Encoding:</b>"
|
||||
msgstr "<b>Знаканабор:</b>"
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(with BOM)"
|
||||
msgstr "(з BOM)"
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(without BOM)"
|
||||
msgstr "(без BOM)"
|
||||
|
||||
#: src/dialogs.c:1027
|
||||
#: src/dialogs.c:1030
|
||||
msgid "<b>Modified:</b>"
|
||||
msgstr "<b>Зьменены:</b>"
|
||||
|
||||
#: src/dialogs.c:1040
|
||||
#: src/dialogs.c:1043
|
||||
msgid "<b>Changed:</b>"
|
||||
msgstr "<b>Зьменены:</b>"
|
||||
|
||||
#: src/dialogs.c:1053
|
||||
#: src/dialogs.c:1056
|
||||
msgid "<b>Accessed:</b>"
|
||||
msgstr "<b>Даступаўся:</b>"
|
||||
|
||||
#: src/dialogs.c:1074
|
||||
#: src/dialogs.c:1077
|
||||
msgid "<b>Permissions:</b>"
|
||||
msgstr "<b>Дазваленьні:</b>"
|
||||
|
||||
#. Header
|
||||
#: src/dialogs.c:1082
|
||||
#: src/dialogs.c:1085
|
||||
msgid "Read:"
|
||||
msgstr "Чытаць:"
|
||||
|
||||
#: src/dialogs.c:1089
|
||||
#: src/dialogs.c:1092
|
||||
msgid "Write:"
|
||||
msgstr "Пісаць:"
|
||||
|
||||
#. Owner
|
||||
#: src/dialogs.c:1104
|
||||
#: src/dialogs.c:1107
|
||||
msgid "Owner:"
|
||||
msgstr "Уладальнік:"
|
||||
|
||||
#. Group
|
||||
#: src/dialogs.c:1140
|
||||
#: src/dialogs.c:1143
|
||||
msgid "Group:"
|
||||
msgstr "Група:"
|
||||
|
||||
#. Other
|
||||
#: src/dialogs.c:1176
|
||||
#: src/dialogs.c:1179
|
||||
msgid "Other:"
|
||||
msgstr "Другі:"
|
||||
|
||||
#: src/dialogs.c:1297
|
||||
#: src/dialogs.c:1300
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Наладка клявіш"
|
||||
|
||||
#: src/dialogs.c:1306
|
||||
#: src/dialogs.c:1309
|
||||
msgid "The following keyboard shortcuts are defined:"
|
||||
msgstr "Вызначаны наступныя клявішы."
|
||||
|
||||
@ -1622,7 +1622,7 @@ msgid "Could not open file %s (%s)"
|
||||
msgstr "Немагчыма адчыніць файл %s (%s)"
|
||||
|
||||
#: src/document.c:618
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"The file \"%s\" could not opened properly and probably was truncated. Be "
|
||||
"aware that saving it can cause data loss.\n"
|
||||
@ -1774,31 +1774,31 @@ msgstr "(Незахаваны)"
|
||||
msgid "Font updated (%s)."
|
||||
msgstr "Шрыфт адноўлены (%s)."
|
||||
|
||||
#: src/ui_utils.c:217
|
||||
#: src/ui_utils.c:309
|
||||
msgid "No tags found"
|
||||
msgstr "tags ня знойдзены"
|
||||
|
||||
#: src/ui_utils.c:526
|
||||
#: src/ui_utils.c:530
|
||||
msgid "C Standard Library"
|
||||
msgstr "Стандартная бібліятэка C"
|
||||
|
||||
#: src/ui_utils.c:527
|
||||
#: src/ui_utils.c:531
|
||||
msgid "ISO C99"
|
||||
msgstr "ISO C99"
|
||||
|
||||
#: src/ui_utils.c:528
|
||||
#: src/ui_utils.c:532
|
||||
msgid "C++ (C Standard Library)"
|
||||
msgstr "C++ (Стандартная бібліятэка)"
|
||||
|
||||
#: src/ui_utils.c:529
|
||||
#: src/ui_utils.c:533
|
||||
msgid "C++ Standard Library"
|
||||
msgstr "C++ Стандартная бібліятэка"
|
||||
|
||||
#: src/ui_utils.c:530
|
||||
#: src/ui_utils.c:534
|
||||
msgid "C++ STL"
|
||||
msgstr "C++ STL"
|
||||
|
||||
#: src/ui_utils.c:596
|
||||
#: src/ui_utils.c:600
|
||||
msgid "Set Custom Date Format"
|
||||
msgstr "Усталяваць свой фармат даты"
|
||||
|
||||
@ -1943,7 +1943,7 @@ msgstr "Файл наладкі %s, зьмяняй як табе трэба"
|
||||
msgid "Type here what you want, use it as a notice/scratch board"
|
||||
msgstr "Пішы тут што жадаеш, выкарыстоўвай для заметак."
|
||||
|
||||
#: src/keyfile.c:557
|
||||
#: src/keyfile.c:560
|
||||
msgid "Failed to load one or more session files."
|
||||
msgstr "Немагчыма загрузіць адзін або больш файлаў з прошлай сесіі"
|
||||
|
||||
@ -2132,68 +2132,68 @@ msgstr "Справа"
|
||||
msgid "Shortcut"
|
||||
msgstr "Ярлык"
|
||||
|
||||
#: src/prefs.c:789
|
||||
#: src/prefs.c:781
|
||||
msgid "Grab key"
|
||||
msgstr "Захапіць клявішу"
|
||||
|
||||
#: src/prefs.c:793
|
||||
#: src/prefs.c:785
|
||||
#, c-format
|
||||
msgid "Type the combination of the keys you want to use for \"%s\""
|
||||
msgstr "Цісьні камбінацыю клявіш, якія ты жадаеш выкарыстоўваць для \"%s\""
|
||||
|
||||
#: src/prefs.c:917
|
||||
#: src/prefs.c:909
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The combination '%s' is already used for \"%s\". Please choose another one."
|
||||
msgstr "Камбінацыя '%s' ужо выкарыстана для \"%s\". Калі ласка выбяры іншую."
|
||||
|
||||
#: src/about.c:119
|
||||
#: src/about.c:121
|
||||
msgid "About Geany"
|
||||
msgstr "Пра Geany"
|
||||
|
||||
#: src/about.c:168
|
||||
#: src/about.c:170
|
||||
msgid "A fast and lightweight IDE"
|
||||
msgstr "Хуткае лёгкае IDE"
|
||||
|
||||
#: src/about.c:189
|
||||
#: src/about.c:191
|
||||
#, c-format
|
||||
msgid "(built on %s)"
|
||||
msgstr "(збудаваны на %s)"
|
||||
|
||||
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
|
||||
#: src/about.c:220
|
||||
#: src/about.c:222
|
||||
msgid "Info"
|
||||
msgstr "Інфармацыя"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Developers"
|
||||
msgstr "Распрацоўшчыкі"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Maintainer"
|
||||
msgstr "Падтрымка"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "developer"
|
||||
msgstr "распрацоўшчык"
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "translation maintainer"
|
||||
msgstr "падтрымка перакладу"
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "Translators"
|
||||
msgstr "Перакладчыкі"
|
||||
|
||||
#: src/about.c:234
|
||||
#: src/about.c:236
|
||||
msgid "language"
|
||||
msgstr "мова"
|
||||
|
||||
#: src/about.c:240
|
||||
#: src/about.c:242
|
||||
msgid "Credits"
|
||||
msgstr "Аўтары"
|
||||
|
||||
#: src/about.c:253
|
||||
#: src/about.c:255
|
||||
msgid "License"
|
||||
msgstr "Ліцэнзія"
|
||||
|
||||
@ -2455,15 +2455,15 @@ msgstr "Namespaces"
|
||||
msgid "Structs / Typedefs"
|
||||
msgstr "Struct / Typedef"
|
||||
|
||||
#: src/treeviews.c:385 src/treeviews.c:437
|
||||
#: src/treeviews.c:391 src/treeviews.c:443
|
||||
msgid "Hide"
|
||||
msgstr "Схаваць"
|
||||
|
||||
#: src/treeviews.c:393 src/treeviews.c:445
|
||||
#: src/treeviews.c:399 src/treeviews.c:451
|
||||
msgid "Hide sidebar"
|
||||
msgstr "Схаваць сайд-бар"
|
||||
|
||||
#: src/treeviews.c:425
|
||||
#: src/treeviews.c:431
|
||||
msgid "Reload"
|
||||
msgstr "Загрузіць зноў"
|
||||
|
||||
@ -2527,6 +2527,7 @@ msgid "Terminal emulation:"
|
||||
msgstr "Эмуляцыя тэрмінала:"
|
||||
|
||||
#: src/vte.c:580
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Controls how the terminal emulator should behave. xterm is a good start."
|
||||
msgstr ""
|
||||
@ -3028,3 +3029,140 @@ msgstr "Знакі прыпынку"
|
||||
#: src/tools.c:365
|
||||
msgid "Miscellaneous characters"
|
||||
msgstr "Іншыя літары"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Forward declaration \"%s\" not found."
|
||||
#~ msgstr "Аб'яуленне \"%s()\" не знойдзена"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Javascript source file"
|
||||
#~ msgstr "Java"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Lua source file"
|
||||
#~ msgstr "LaTeX"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open Selected F_ile"
|
||||
#~ msgstr "Адчыніць файл"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Insert BSD License Notice"
|
||||
#~ msgstr "Уставіць GPL паведамленьне"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "Inserts a BSD licence notice (should be done at the beginning of the file)"
|
||||
#~ msgstr "Уставіць GPL паведамленьне (павінна быць зроблена ў пачатку файла)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find _Selected"
|
||||
#~ msgstr "Шукаць наступны"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_New"
|
||||
#~ msgstr "Новы"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_Open"
|
||||
#~ msgstr "Адчыніць"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_Close"
|
||||
#~ msgstr "Зачыніць"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Insert BSD license Notice"
|
||||
#~ msgstr "Уставіць GPL паведамленьне"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open selected file"
|
||||
#~ msgstr "Адчыніць файлы"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Save as"
|
||||
#~ msgstr "Захаваць усе"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find Next Selection"
|
||||
#~ msgstr "У вылучэньні"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find Previous Selection"
|
||||
#~ msgstr "Шукаць былы"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "set initial column number for the first opened file (useful in "
|
||||
#~ "conjunction with --line)"
|
||||
#~ msgstr "усталяваць пачатковы радок для адчыняемых файлаў"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Could not find file '%s'."
|
||||
#~ msgstr "Нельга знайсьці pixmap файл: %s"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open project"
|
||||
#~ msgstr "Будаваць аб'ект"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project files"
|
||||
#~ msgstr "Уласьцівасьці"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" closed."
|
||||
#~ msgstr "Файл %s зачынены."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project properties"
|
||||
#~ msgstr "Уласьцівасьці"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "C_reate"
|
||||
#~ msgstr "Літара"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Name:"
|
||||
#~ msgstr "Зрабіць:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Description:"
|
||||
#~ msgstr "Стварэньне DVI"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Filename:"
|
||||
#~ msgstr "Vietnamese"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "File patterns:"
|
||||
#~ msgstr "Middle Eastern"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "There is already an open project \"%s\". Do you want to close it before "
|
||||
#~ "proceed?"
|
||||
#~ msgstr "Файл '%s' ужо існуе. Замяніць яго?"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project file could not be written."
|
||||
#~ msgstr "Немагчыма зрабіць наладкавую дырэкторыю (%s)."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" created."
|
||||
#~ msgstr "Уласьцівасьці"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" saved."
|
||||
#~ msgstr "Файл %s захаваны."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" opened."
|
||||
#~ msgstr "Уласьцівасьці"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project file could not be loaded."
|
||||
#~ msgstr "Немагчыма зрабіць наладкавую дырэкторыю (%s)."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "File location:"
|
||||
#~ msgstr "Стварэньне PDF"
|
||||
|
192
po/geany.pot
192
po/geany.pot
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-12-19 20:42+0100\n"
|
||||
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -113,7 +113,7 @@ msgstr ""
|
||||
msgid "Saves all open files"
|
||||
msgstr ""
|
||||
|
||||
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
|
||||
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
|
||||
msgid "_Reload"
|
||||
msgstr ""
|
||||
|
||||
@ -973,7 +973,7 @@ msgstr ""
|
||||
msgid "Sets the color of the long line marker"
|
||||
msgstr ""
|
||||
|
||||
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
|
||||
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
|
||||
msgid "Color Chooser"
|
||||
msgstr ""
|
||||
|
||||
@ -1221,79 +1221,79 @@ msgstr ""
|
||||
msgid "Do you really want to quit?"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:474
|
||||
#: src/callbacks.c:491
|
||||
msgid "Any unsaved changes will be lost."
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:475
|
||||
#: src/callbacks.c:492
|
||||
#, c-format
|
||||
msgid "Are you sure you want to reload '%s'?"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:860
|
||||
#: src/callbacks.c:877
|
||||
#, c-format
|
||||
msgid "The file '%s' already exists. Do you want to overwrite it?"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1230
|
||||
#: src/callbacks.c:1247
|
||||
#, c-format
|
||||
msgid "Declaration of \"%s()\" not found"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1232
|
||||
#: src/callbacks.c:1249
|
||||
#, c-format
|
||||
msgid "Definition of \"%s()\" not found"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1437 src/callbacks.c:1482
|
||||
#: src/callbacks.c:1454 src/callbacks.c:1499
|
||||
msgid ""
|
||||
"Please set the filetype for the current file before using this function."
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1598 src/ui_utils.c:557
|
||||
#: src/callbacks.c:1615 src/ui_utils.c:561
|
||||
msgid "dd.mm.yyyy"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1600 src/ui_utils.c:558
|
||||
#: src/callbacks.c:1617 src/ui_utils.c:562
|
||||
msgid "mm.dd.yyyy"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1602 src/ui_utils.c:559
|
||||
#: src/callbacks.c:1619 src/ui_utils.c:563
|
||||
msgid "yyyy/mm/dd"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1604 src/ui_utils.c:568
|
||||
#: src/callbacks.c:1621 src/ui_utils.c:572
|
||||
msgid "dd.mm.yyyy hh:mm:ss"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1606 src/ui_utils.c:569
|
||||
#: src/callbacks.c:1623 src/ui_utils.c:573
|
||||
msgid "mm.dd.yyyy hh:mm:ss"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1608 src/ui_utils.c:570
|
||||
#: src/callbacks.c:1625 src/ui_utils.c:574
|
||||
msgid "yyyy/mm/dd hh:mm:ss"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1610 src/ui_utils.c:579
|
||||
#: src/callbacks.c:1627 src/ui_utils.c:583
|
||||
msgid "Use Custom Date Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1621
|
||||
#: src/callbacks.c:1638
|
||||
msgid "Custom Date Format"
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1622
|
||||
#: src/callbacks.c:1639
|
||||
msgid ""
|
||||
"Enter here a custom date and time format. You can use any conversion "
|
||||
"specifiers which can be used with the ANSI C strftime function. See \"man "
|
||||
"strftime\" for more information."
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:1642
|
||||
#: src/callbacks.c:1659
|
||||
msgid "Date format string could not be converted (possibly too long)."
|
||||
msgstr ""
|
||||
|
||||
#: src/callbacks.c:2030
|
||||
#: src/callbacks.c:2047
|
||||
msgid "No more message items."
|
||||
msgstr ""
|
||||
|
||||
@ -1303,7 +1303,7 @@ msgid "Couldn't find pixmap file: %s"
|
||||
msgstr ""
|
||||
|
||||
#. initialize the dialog
|
||||
#: src/dialogs.c:74 src/prefs.c:1023
|
||||
#: src/dialogs.c:74 src/prefs.c:1017
|
||||
msgid "Open File"
|
||||
msgstr ""
|
||||
|
||||
@ -1355,208 +1355,208 @@ msgstr ""
|
||||
msgid "Save File"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:350
|
||||
#: src/dialogs.c:352
|
||||
#, c-format
|
||||
msgid "The file '%s' is not saved."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:360
|
||||
#: src/dialogs.c:362
|
||||
msgid "Do you want to save it before closing?"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:363
|
||||
#: src/dialogs.c:365
|
||||
msgid "_Don't save"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:407
|
||||
#: src/dialogs.c:409
|
||||
msgid "Choose font"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:444
|
||||
#: src/dialogs.c:447
|
||||
msgid "Word Count"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:453
|
||||
#: src/dialogs.c:456
|
||||
msgid "selection"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:459
|
||||
#: src/dialogs.c:462
|
||||
msgid "whole document"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:468
|
||||
#: src/dialogs.c:471
|
||||
msgid "Range:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:480
|
||||
#: src/dialogs.c:483
|
||||
msgid "Lines:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:494
|
||||
#: src/dialogs.c:497
|
||||
msgid "Words:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:508
|
||||
#: src/dialogs.c:511
|
||||
msgid "Characters:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:607 src/keybindings.c:144
|
||||
#: src/dialogs.c:610 src/keybindings.c:144
|
||||
msgid "Go to line"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:613
|
||||
#: src/dialogs.c:616
|
||||
msgid "Enter the line you want to go to:"
|
||||
msgstr ""
|
||||
|
||||
#. arguments
|
||||
#: src/dialogs.c:638 src/build.c:1068
|
||||
#: src/dialogs.c:641 src/build.c:1068
|
||||
msgid "Set Arguments"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:644
|
||||
#: src/dialogs.c:647
|
||||
msgid "Set programs and options for compiling and viewing (La)TeX files."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:655
|
||||
#: src/dialogs.c:658
|
||||
msgid "DVI creation:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:674
|
||||
#: src/dialogs.c:677
|
||||
msgid "PDF creation:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:693
|
||||
#: src/dialogs.c:696
|
||||
msgid "DVI preview:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:712
|
||||
#: src/dialogs.c:715
|
||||
msgid "PDF preview:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:728 src/dialogs.c:843
|
||||
#: src/dialogs.c:731 src/dialogs.c:846
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%f will be replaced by the current filename, e.g. test_file.c\n"
|
||||
"%e will be replaced by the filename without extension, e.g. test_file"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:755
|
||||
#: src/dialogs.c:758
|
||||
msgid "Set Includes and Arguments"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:761
|
||||
#: src/dialogs.c:764
|
||||
msgid "Set the commands for building and running programs."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:768
|
||||
#: src/dialogs.c:771
|
||||
msgid " commands"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:783
|
||||
#: src/dialogs.c:786
|
||||
msgid "Compile:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:804
|
||||
#: src/dialogs.c:807
|
||||
msgid "Build:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:825 src/dialogs.c:1096
|
||||
#: src/dialogs.c:828 src/dialogs.c:1099
|
||||
msgid "Execute:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:890
|
||||
#: src/dialogs.c:893
|
||||
msgid ""
|
||||
"An error occurred or file information could not be retrieved (e.g. from a "
|
||||
"new file)."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
|
||||
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
|
||||
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
|
||||
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
|
||||
#: src/ui_utils.c:122 src/ui_utils.c:124
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:923
|
||||
#: src/dialogs.c:926
|
||||
msgid "Properties"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:951
|
||||
#: src/dialogs.c:954
|
||||
msgid "<b>Type:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:964
|
||||
#: src/dialogs.c:967
|
||||
msgid "<b>Size:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:979
|
||||
#: src/dialogs.c:982
|
||||
msgid "<b>Location:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:992
|
||||
#: src/dialogs.c:995
|
||||
msgid "<b>Read-only:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:999
|
||||
#: src/dialogs.c:1002
|
||||
msgid "(only inside Geany)"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1008
|
||||
#: src/dialogs.c:1011
|
||||
msgid "<b>Encoding:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(with BOM)"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(without BOM)"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1027
|
||||
#: src/dialogs.c:1030
|
||||
msgid "<b>Modified:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1040
|
||||
#: src/dialogs.c:1043
|
||||
msgid "<b>Changed:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1053
|
||||
#: src/dialogs.c:1056
|
||||
msgid "<b>Accessed:</b>"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1074
|
||||
#: src/dialogs.c:1077
|
||||
msgid "<b>Permissions:</b>"
|
||||
msgstr ""
|
||||
|
||||
#. Header
|
||||
#: src/dialogs.c:1082
|
||||
#: src/dialogs.c:1085
|
||||
msgid "Read:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1089
|
||||
#: src/dialogs.c:1092
|
||||
msgid "Write:"
|
||||
msgstr ""
|
||||
|
||||
#. Owner
|
||||
#: src/dialogs.c:1104
|
||||
#: src/dialogs.c:1107
|
||||
msgid "Owner:"
|
||||
msgstr ""
|
||||
|
||||
#. Group
|
||||
#: src/dialogs.c:1140
|
||||
#: src/dialogs.c:1143
|
||||
msgid "Group:"
|
||||
msgstr ""
|
||||
|
||||
#. Other
|
||||
#: src/dialogs.c:1176
|
||||
#: src/dialogs.c:1179
|
||||
msgid "Other:"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1297
|
||||
#: src/dialogs.c:1300
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialogs.c:1306
|
||||
#: src/dialogs.c:1309
|
||||
msgid "The following keyboard shortcuts are defined:"
|
||||
msgstr ""
|
||||
|
||||
@ -1717,31 +1717,31 @@ msgstr ""
|
||||
msgid "Font updated (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:217
|
||||
#: src/ui_utils.c:309
|
||||
msgid "No tags found"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:526
|
||||
#: src/ui_utils.c:530
|
||||
msgid "C Standard Library"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:527
|
||||
#: src/ui_utils.c:531
|
||||
msgid "ISO C99"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:528
|
||||
#: src/ui_utils.c:532
|
||||
msgid "C++ (C Standard Library)"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:529
|
||||
#: src/ui_utils.c:533
|
||||
msgid "C++ Standard Library"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:530
|
||||
#: src/ui_utils.c:534
|
||||
msgid "C++ STL"
|
||||
msgstr ""
|
||||
|
||||
#: src/ui_utils.c:596
|
||||
#: src/ui_utils.c:600
|
||||
msgid "Set Custom Date Format"
|
||||
msgstr ""
|
||||
|
||||
@ -1886,7 +1886,7 @@ msgstr ""
|
||||
msgid "Type here what you want, use it as a notice/scratch board"
|
||||
msgstr ""
|
||||
|
||||
#: src/keyfile.c:557
|
||||
#: src/keyfile.c:560
|
||||
msgid "Failed to load one or more session files."
|
||||
msgstr ""
|
||||
|
||||
@ -2074,68 +2074,68 @@ msgstr ""
|
||||
msgid "Shortcut"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.c:789
|
||||
#: src/prefs.c:781
|
||||
msgid "Grab key"
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.c:793
|
||||
#: src/prefs.c:785
|
||||
#, c-format
|
||||
msgid "Type the combination of the keys you want to use for \"%s\""
|
||||
msgstr ""
|
||||
|
||||
#: src/prefs.c:917
|
||||
#: src/prefs.c:909
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The combination '%s' is already used for \"%s\". Please choose another one."
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:119
|
||||
#: src/about.c:121
|
||||
msgid "About Geany"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:168
|
||||
#: src/about.c:170
|
||||
msgid "A fast and lightweight IDE"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:189
|
||||
#: src/about.c:191
|
||||
#, c-format
|
||||
msgid "(built on %s)"
|
||||
msgstr ""
|
||||
|
||||
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
|
||||
#: src/about.c:220
|
||||
#: src/about.c:222
|
||||
msgid "Info"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Developers"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "developer"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "translation maintainer"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "Translators"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:234
|
||||
#: src/about.c:236
|
||||
msgid "language"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:240
|
||||
#: src/about.c:242
|
||||
msgid "Credits"
|
||||
msgstr ""
|
||||
|
||||
#: src/about.c:253
|
||||
#: src/about.c:255
|
||||
msgid "License"
|
||||
msgstr ""
|
||||
|
||||
@ -2397,15 +2397,15 @@ msgstr ""
|
||||
msgid "Structs / Typedefs"
|
||||
msgstr ""
|
||||
|
||||
#: src/treeviews.c:385 src/treeviews.c:437
|
||||
#: src/treeviews.c:391 src/treeviews.c:443
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
|
||||
#: src/treeviews.c:393 src/treeviews.c:445
|
||||
#: src/treeviews.c:399 src/treeviews.c:451
|
||||
msgid "Hide sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: src/treeviews.c:425
|
||||
#: src/treeviews.c:431
|
||||
msgid "Reload"
|
||||
msgstr ""
|
||||
|
||||
|
4116
po/pt_BR.po
4116
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
329
po/vi.po
329
po/vi.po
@ -4,9 +4,9 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: geany\n"
|
||||
"Project-Id-Version: geany 0.10.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-12-21 13:38+0100\n"
|
||||
"POT-Creation-Date: 2007-02-07 19:53+0100\n"
|
||||
"PO-Revision-Date: 2006-12-21 19:40+1030\n"
|
||||
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
|
||||
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
|
||||
@ -117,7 +117,7 @@ msgstr "Lưu tất _cả"
|
||||
msgid "Saves all open files"
|
||||
msgstr "Lưu mọi tập tin đang mở"
|
||||
|
||||
#: src/interface.c:315 src/callbacks.c:473 src/utils.c:355
|
||||
#: src/interface.c:315 src/callbacks.c:490 src/utils.c:355
|
||||
msgid "_Reload"
|
||||
msgstr "Tải _lại"
|
||||
|
||||
@ -990,7 +990,7 @@ msgstr "Kiểu :"
|
||||
msgid "Sets the color of the long line marker"
|
||||
msgstr "Đặt màu của dấu dòng dài"
|
||||
|
||||
#: src/interface.c:3093 src/dialogs.c:540 src/vte.c:546 src/vte.c:553
|
||||
#: src/interface.c:3093 src/dialogs.c:543 src/vte.c:546 src/vte.c:553
|
||||
msgid "Color Chooser"
|
||||
msgstr "Bộ chọn màu"
|
||||
|
||||
@ -1258,68 +1258,68 @@ msgstr "Tổ hợp phím"
|
||||
msgid "Do you really want to quit?"
|
||||
msgstr "Bạn thật sự muốn thoát không?"
|
||||
|
||||
#: src/callbacks.c:474
|
||||
#: src/callbacks.c:491
|
||||
msgid "Any unsaved changes will be lost."
|
||||
msgstr "Các thay đổi chưa lưu sẽ bị mất."
|
||||
|
||||
#: src/callbacks.c:475
|
||||
#: src/callbacks.c:492
|
||||
#, c-format
|
||||
msgid "Are you sure you want to reload '%s'?"
|
||||
msgstr "Bạn có chắc muốn tải lại « %s » không?"
|
||||
|
||||
#: src/callbacks.c:860
|
||||
#: src/callbacks.c:877
|
||||
#, c-format
|
||||
msgid "The file '%s' already exists. Do you want to overwrite it?"
|
||||
msgstr "Tập tin « %s » đã có. Bạn có muốn ghi đè lên không?"
|
||||
|
||||
#: src/callbacks.c:1230
|
||||
#, c-format
|
||||
#: src/callbacks.c:1247
|
||||
#, fuzzy, c-format
|
||||
msgid "Declaration of \"%s()\" not found"
|
||||
msgstr "Không tìm thấy lời tuyên bố « %s() »"
|
||||
msgstr "Không tìm thấy lời xác định « %s() »"
|
||||
|
||||
#: src/callbacks.c:1232
|
||||
#, c-format
|
||||
#: src/callbacks.c:1249
|
||||
#, fuzzy, c-format
|
||||
msgid "Definition of \"%s()\" not found"
|
||||
msgstr "Không tìm thấy lời xác định « %s() »"
|
||||
|
||||
#: src/callbacks.c:1437 src/callbacks.c:1482
|
||||
#: src/callbacks.c:1454 src/callbacks.c:1499
|
||||
msgid ""
|
||||
"Please set the filetype for the current file before using this function."
|
||||
msgstr "Hãy đặt kiểu tập tin cho tập tin hiện thời, trước khi sử dụng hàm này."
|
||||
|
||||
#: src/callbacks.c:1598 src/ui_utils.c:561
|
||||
#: src/callbacks.c:1615 src/ui_utils.c:561
|
||||
msgid "dd.mm.yyyy"
|
||||
msgstr "nn.tt.NNNN"
|
||||
|
||||
#: src/callbacks.c:1600 src/ui_utils.c:562
|
||||
#: src/callbacks.c:1617 src/ui_utils.c:562
|
||||
msgid "mm.dd.yyyy"
|
||||
msgstr "tt.nn.NNNN"
|
||||
|
||||
#: src/callbacks.c:1602 src/ui_utils.c:563
|
||||
#: src/callbacks.c:1619 src/ui_utils.c:563
|
||||
msgid "yyyy/mm/dd"
|
||||
msgstr "NNNN/tt/nn"
|
||||
|
||||
#: src/callbacks.c:1604 src/ui_utils.c:572
|
||||
#: src/callbacks.c:1621 src/ui_utils.c:572
|
||||
msgid "dd.mm.yyyy hh:mm:ss"
|
||||
msgstr "nn.tt.NNNN GG:pp:gg"
|
||||
|
||||
#: src/callbacks.c:1606 src/ui_utils.c:573
|
||||
#: src/callbacks.c:1623 src/ui_utils.c:573
|
||||
msgid "mm.dd.yyyy hh:mm:ss"
|
||||
msgstr "tt.nn.NNNN GG:pp:gg"
|
||||
|
||||
#: src/callbacks.c:1608 src/ui_utils.c:574
|
||||
#: src/callbacks.c:1625 src/ui_utils.c:574
|
||||
msgid "yyyy/mm/dd hh:mm:ss"
|
||||
msgstr "NNNN/tt/nn GG:pp:gg"
|
||||
|
||||
#: src/callbacks.c:1610 src/ui_utils.c:583
|
||||
#: src/callbacks.c:1627 src/ui_utils.c:583
|
||||
msgid "Use Custom Date Format"
|
||||
msgstr "Dùng định dạng ngày riêng"
|
||||
|
||||
#: src/callbacks.c:1621
|
||||
#: src/callbacks.c:1638
|
||||
msgid "Custom Date Format"
|
||||
msgstr "Định dạng ngày riêng"
|
||||
|
||||
#: src/callbacks.c:1622
|
||||
#: src/callbacks.c:1639
|
||||
msgid ""
|
||||
"Enter here a custom date and time format. You can use any conversion "
|
||||
"specifiers which can be used with the ANSI C strftime function. See \"man "
|
||||
@ -1329,11 +1329,11 @@ msgstr ""
|
||||
"đặc tả chuyển đổi nào dùng được với hàm strftime kiểu C ANSI. Xem « man "
|
||||
"strftime » để tìm thêm thông tin."
|
||||
|
||||
#: src/callbacks.c:1642
|
||||
#: src/callbacks.c:1659
|
||||
msgid "Date format string could not be converted (possibly too long)."
|
||||
msgstr "Không thể chuyển đổi chuỗi định dạng ngày tháng (có thể quá dài)."
|
||||
|
||||
#: src/callbacks.c:2030
|
||||
#: src/callbacks.c:2047
|
||||
msgid "No more message items."
|
||||
msgstr "Không có mục thông điệp nào nữa."
|
||||
|
||||
@ -1343,7 +1343,7 @@ msgid "Couldn't find pixmap file: %s"
|
||||
msgstr "Không tìm thấy tập tin sơ đồ điểm ảnh: %s"
|
||||
|
||||
#. initialize the dialog
|
||||
#: src/dialogs.c:74 src/prefs.c:1023
|
||||
#: src/dialogs.c:74 src/prefs.c:1017
|
||||
msgid "Open File"
|
||||
msgstr "Mở tập tin"
|
||||
|
||||
@ -1406,86 +1406,86 @@ msgstr ""
|
||||
msgid "Save File"
|
||||
msgstr "Lưu tập tin"
|
||||
|
||||
#: src/dialogs.c:350
|
||||
#: src/dialogs.c:352
|
||||
#, c-format
|
||||
msgid "The file '%s' is not saved."
|
||||
msgstr "Tập tin « %s » chưa được lưu."
|
||||
|
||||
#: src/dialogs.c:360
|
||||
#: src/dialogs.c:362
|
||||
msgid "Do you want to save it before closing?"
|
||||
msgstr "Bạn có muốn lưu nó trước khi đóng không?"
|
||||
|
||||
#: src/dialogs.c:363
|
||||
#: src/dialogs.c:365
|
||||
msgid "_Don't save"
|
||||
msgstr "_Không lưu"
|
||||
|
||||
#: src/dialogs.c:407
|
||||
#: src/dialogs.c:409
|
||||
msgid "Choose font"
|
||||
msgstr "Chọn phông"
|
||||
|
||||
#: src/dialogs.c:444
|
||||
#: src/dialogs.c:447
|
||||
msgid "Word Count"
|
||||
msgstr "Tổng từ"
|
||||
|
||||
#: src/dialogs.c:453
|
||||
#: src/dialogs.c:456
|
||||
msgid "selection"
|
||||
msgstr "vùng chọn"
|
||||
|
||||
#: src/dialogs.c:459
|
||||
#: src/dialogs.c:462
|
||||
msgid "whole document"
|
||||
msgstr "toàn tài liệu"
|
||||
|
||||
#: src/dialogs.c:468
|
||||
#: src/dialogs.c:471
|
||||
msgid "Range:"
|
||||
msgstr "Phạm vị:"
|
||||
|
||||
#: src/dialogs.c:480
|
||||
#: src/dialogs.c:483
|
||||
msgid "Lines:"
|
||||
msgstr "Dòng:"
|
||||
|
||||
#: src/dialogs.c:494
|
||||
#: src/dialogs.c:497
|
||||
msgid "Words:"
|
||||
msgstr "Từ :"
|
||||
|
||||
#: src/dialogs.c:508
|
||||
#: src/dialogs.c:511
|
||||
msgid "Characters:"
|
||||
msgstr "Ký tự :"
|
||||
|
||||
#: src/dialogs.c:607 src/keybindings.c:144
|
||||
#: src/dialogs.c:610 src/keybindings.c:144
|
||||
msgid "Go to line"
|
||||
msgstr "Tới dòng"
|
||||
|
||||
#: src/dialogs.c:613
|
||||
#: src/dialogs.c:616
|
||||
msgid "Enter the line you want to go to:"
|
||||
msgstr "Nhập dòng cần tới:"
|
||||
|
||||
#. arguments
|
||||
#: src/dialogs.c:638 src/build.c:1068
|
||||
#: src/dialogs.c:641 src/build.c:1068
|
||||
msgid "Set Arguments"
|
||||
msgstr "Đặt đối số"
|
||||
|
||||
#: src/dialogs.c:644
|
||||
#: src/dialogs.c:647
|
||||
msgid "Set programs and options for compiling and viewing (La)TeX files."
|
||||
msgstr ""
|
||||
"Đặt các chương trình và tùy chọn để biên dịch và xem tập tin kiểu (La)TeX."
|
||||
|
||||
#: src/dialogs.c:655
|
||||
#: src/dialogs.c:658
|
||||
msgid "DVI creation:"
|
||||
msgstr "Tạo DVI:"
|
||||
|
||||
#: src/dialogs.c:674
|
||||
#: src/dialogs.c:677
|
||||
msgid "PDF creation:"
|
||||
msgstr "Tạo PDF:"
|
||||
|
||||
#: src/dialogs.c:693
|
||||
#: src/dialogs.c:696
|
||||
msgid "DVI preview:"
|
||||
msgstr "Xem thử DVI:"
|
||||
|
||||
#: src/dialogs.c:712
|
||||
#: src/dialogs.c:715
|
||||
msgid "PDF preview:"
|
||||
msgstr "Xem thử PDF:"
|
||||
|
||||
#: src/dialogs.c:728 src/dialogs.c:843
|
||||
#: src/dialogs.c:731 src/dialogs.c:846
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%f will be replaced by the current filename, e.g. test_file.c\n"
|
||||
@ -1494,123 +1494,123 @@ msgstr ""
|
||||
"%f\tsẽ được thay thế bằng tên tập tin hoàn toàn (v.d. tập_tin_thử.c)\n"
|
||||
"%e\tsẽ được thay thế bằng tập tin không có phần mở rộng (v.d. tập_tin_thử)"
|
||||
|
||||
#: src/dialogs.c:755
|
||||
#: src/dialogs.c:758
|
||||
msgid "Set Includes and Arguments"
|
||||
msgstr "Đặt đồ gồm và đối số"
|
||||
|
||||
#: src/dialogs.c:761
|
||||
#: src/dialogs.c:764
|
||||
msgid "Set the commands for building and running programs."
|
||||
msgstr "Đặt các lệnh để xây dựng và chạy chương trình."
|
||||
|
||||
#: src/dialogs.c:768
|
||||
#: src/dialogs.c:771
|
||||
msgid " commands"
|
||||
msgstr " lệnh"
|
||||
|
||||
#: src/dialogs.c:783
|
||||
#: src/dialogs.c:786
|
||||
msgid "Compile:"
|
||||
msgstr "Biên dịch:"
|
||||
|
||||
#: src/dialogs.c:804
|
||||
#: src/dialogs.c:807
|
||||
msgid "Build:"
|
||||
msgstr "Xây dựng:"
|
||||
|
||||
#: src/dialogs.c:825 src/dialogs.c:1096
|
||||
#: src/dialogs.c:828 src/dialogs.c:1099
|
||||
msgid "Execute:"
|
||||
msgstr "Thực hiện:"
|
||||
|
||||
#: src/dialogs.c:890
|
||||
#: src/dialogs.c:893
|
||||
msgid ""
|
||||
"An error occurred or file information could not be retrieved (e.g. from a "
|
||||
"new file)."
|
||||
msgstr "Gặp lỗi hoặc không thể lấy thông tin về tập tin (v.d. từ tập tin mới)."
|
||||
|
||||
#: src/dialogs.c:909 src/dialogs.c:910 src/dialogs.c:911 src/dialogs.c:917
|
||||
#: src/dialogs.c:918 src/dialogs.c:919 src/utils.c:503 src/utils.c:557
|
||||
#: src/dialogs.c:912 src/dialogs.c:913 src/dialogs.c:914 src/dialogs.c:920
|
||||
#: src/dialogs.c:921 src/dialogs.c:922 src/utils.c:503 src/utils.c:557
|
||||
#: src/ui_utils.c:122 src/ui_utils.c:124
|
||||
msgid "unknown"
|
||||
msgstr "không rõ"
|
||||
|
||||
#: src/dialogs.c:923
|
||||
#: src/dialogs.c:926
|
||||
msgid "Properties"
|
||||
msgstr "Tài sản"
|
||||
|
||||
#: src/dialogs.c:951
|
||||
#: src/dialogs.c:954
|
||||
msgid "<b>Type:</b>"
|
||||
msgstr "<b>Kiểu :</b>"
|
||||
|
||||
#: src/dialogs.c:964
|
||||
#: src/dialogs.c:967
|
||||
msgid "<b>Size:</b>"
|
||||
msgstr "<b>Cỡ :</b>"
|
||||
|
||||
#: src/dialogs.c:979
|
||||
#: src/dialogs.c:982
|
||||
msgid "<b>Location:</b>"
|
||||
msgstr "<b>Vị trí:</b>"
|
||||
|
||||
#: src/dialogs.c:992
|
||||
#: src/dialogs.c:995
|
||||
msgid "<b>Read-only:</b>"
|
||||
msgstr "<b>Chỉ đọc:</b>"
|
||||
|
||||
#: src/dialogs.c:999
|
||||
#: src/dialogs.c:1002
|
||||
msgid "(only inside Geany)"
|
||||
msgstr "(chỉ bên trong Geany)"
|
||||
|
||||
#: src/dialogs.c:1008
|
||||
#: src/dialogs.c:1011
|
||||
msgid "<b>Encoding:</b>"
|
||||
msgstr "<b>Bảng mã:</b>"
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(with BOM)"
|
||||
msgstr "(có BOM)"
|
||||
|
||||
#: src/dialogs.c:1017 src/ui_utils.c:123
|
||||
#: src/dialogs.c:1020 src/ui_utils.c:123
|
||||
msgid "(without BOM)"
|
||||
msgstr "(không có BOM)"
|
||||
|
||||
#: src/dialogs.c:1027
|
||||
#: src/dialogs.c:1030
|
||||
msgid "<b>Modified:</b>"
|
||||
msgstr "<b>Sửa đổi:</b>"
|
||||
|
||||
#: src/dialogs.c:1040
|
||||
#: src/dialogs.c:1043
|
||||
msgid "<b>Changed:</b>"
|
||||
msgstr "<b>Đổi:</b>"
|
||||
|
||||
#: src/dialogs.c:1053
|
||||
#: src/dialogs.c:1056
|
||||
msgid "<b>Accessed:</b>"
|
||||
msgstr "<b>Truy cập:</b>"
|
||||
|
||||
#: src/dialogs.c:1074
|
||||
#: src/dialogs.c:1077
|
||||
msgid "<b>Permissions:</b>"
|
||||
msgstr "<b>Quyền hạn:</b>"
|
||||
|
||||
#. Header
|
||||
#: src/dialogs.c:1082
|
||||
#: src/dialogs.c:1085
|
||||
msgid "Read:"
|
||||
msgstr "Đọc:"
|
||||
|
||||
#: src/dialogs.c:1089
|
||||
#: src/dialogs.c:1092
|
||||
msgid "Write:"
|
||||
msgstr "Ghi:"
|
||||
|
||||
#. Owner
|
||||
#: src/dialogs.c:1104
|
||||
#: src/dialogs.c:1107
|
||||
msgid "Owner:"
|
||||
msgstr "Sở hữu :"
|
||||
|
||||
#. Group
|
||||
#: src/dialogs.c:1140
|
||||
#: src/dialogs.c:1143
|
||||
msgid "Group:"
|
||||
msgstr "Nhóm:"
|
||||
|
||||
#. Other
|
||||
#: src/dialogs.c:1176
|
||||
#: src/dialogs.c:1179
|
||||
msgid "Other:"
|
||||
msgstr "Khác:"
|
||||
|
||||
#: src/dialogs.c:1297
|
||||
#: src/dialogs.c:1300
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Phím tắt"
|
||||
|
||||
#: src/dialogs.c:1306
|
||||
#: src/dialogs.c:1309
|
||||
msgid "The following keyboard shortcuts are defined:"
|
||||
msgstr "Những phím tắt theo đây đã được xác định:"
|
||||
|
||||
@ -1633,7 +1633,7 @@ msgid "Could not open file %s (%s)"
|
||||
msgstr "Không thể mở tập tin: %s (%s)"
|
||||
|
||||
#: src/document.c:618
|
||||
#, c-format
|
||||
#, fuzzy, c-format
|
||||
msgid ""
|
||||
"The file \"%s\" could not opened properly and probably was truncated. Be "
|
||||
"aware that saving it can cause data loss.\n"
|
||||
@ -2155,68 +2155,68 @@ msgstr "Hành động"
|
||||
msgid "Shortcut"
|
||||
msgstr "Phím tắt"
|
||||
|
||||
#: src/prefs.c:789
|
||||
#: src/prefs.c:781
|
||||
msgid "Grab key"
|
||||
msgstr "Bắt phím"
|
||||
|
||||
#: src/prefs.c:793
|
||||
#: src/prefs.c:785
|
||||
#, c-format
|
||||
msgid "Type the combination of the keys you want to use for \"%s\""
|
||||
msgstr "Gõ tổ hợp phím bạn muốn dùng cho « %s »"
|
||||
|
||||
#: src/prefs.c:917
|
||||
#: src/prefs.c:909
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The combination '%s' is already used for \"%s\". Please choose another one."
|
||||
msgstr "Tổ hợp « %s » đã được dùng cho « %s ». Hãy chọn điều khác."
|
||||
|
||||
#: src/about.c:119
|
||||
#: src/about.c:121
|
||||
msgid "About Geany"
|
||||
msgstr "Giới thiệu Geany"
|
||||
|
||||
#: src/about.c:168
|
||||
#: src/about.c:170
|
||||
msgid "A fast and lightweight IDE"
|
||||
msgstr "Một IDE nhanh và nhẹ nhàng"
|
||||
|
||||
#: src/about.c:189
|
||||
#: src/about.c:191
|
||||
#, c-format
|
||||
msgid "(built on %s)"
|
||||
msgstr "(xây dựng vào %s)"
|
||||
|
||||
#. gtk_container_add(GTK_CONTAINER(info_box), cop_label);
|
||||
#: src/about.c:220
|
||||
#: src/about.c:222
|
||||
msgid "Info"
|
||||
msgstr "Thông tin"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Developers"
|
||||
msgstr "Nhà phát triển"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "Maintainer"
|
||||
msgstr "Nhà duy trì"
|
||||
|
||||
#: src/about.c:232
|
||||
#: src/about.c:234
|
||||
msgid "developer"
|
||||
msgstr "nhà phát triển"
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "translation maintainer"
|
||||
msgstr "nhà duy trì bản dịch"
|
||||
|
||||
#: src/about.c:233
|
||||
#: src/about.c:235
|
||||
msgid "Translators"
|
||||
msgstr "Dịch giả"
|
||||
|
||||
#: src/about.c:234
|
||||
#: src/about.c:236
|
||||
msgid "language"
|
||||
msgstr "ngôn ngữ"
|
||||
|
||||
#: src/about.c:240
|
||||
#: src/about.c:242
|
||||
msgid "Credits"
|
||||
msgstr "Công trạng"
|
||||
|
||||
#: src/about.c:253
|
||||
#: src/about.c:255
|
||||
msgid "License"
|
||||
msgstr "Giấy Phép"
|
||||
|
||||
@ -2553,6 +2553,7 @@ msgid "Terminal emulation:"
|
||||
msgstr "Mô phỏng thiết bị cuối:"
|
||||
|
||||
#: src/vte.c:580
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Controls how the terminal emulator should behave. xterm is a good start."
|
||||
msgstr "Điều khiển ứng xử của mô phỏng thiết bị cuối. xterm là cơ bản tốt."
|
||||
@ -3067,6 +3068,147 @@ msgstr "Ký tự dấu chấm câu"
|
||||
msgid "Miscellaneous characters"
|
||||
msgstr "Ký tự lặt vặt"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Forward declaration \"%s\" not found."
|
||||
#~ msgstr "Không tìm thấy lời tuyên bố « %s() »"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Javascript source file"
|
||||
#~ msgstr "Tập tin mã nguồn Java"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Lua source file"
|
||||
#~ msgstr "Tập tin mã nguồn LaTeX"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open Selected F_ile"
|
||||
#~ msgstr "Mở tập tin"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Insert BSD License Notice"
|
||||
#~ msgstr "Chèn thông báo GPL"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "Inserts a BSD licence notice (should be done at the beginning of the file)"
|
||||
#~ msgstr ""
|
||||
#~ "Chèn thông báo Giấy Phép Công Cộng GNU (nên nằm tại đầu của tập tin)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find _Selected"
|
||||
#~ msgstr "Tìm _kế"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_New"
|
||||
#~ msgstr "Mới"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_Open"
|
||||
#~ msgstr "Mở"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "_Close"
|
||||
#~ msgstr "Đóng"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Insert BSD license Notice"
|
||||
#~ msgstr "Chèn thông báo GPL"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open selected file"
|
||||
#~ msgstr "Tập tin mở"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Save as"
|
||||
#~ msgstr "Lưu tất cả"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find Next Selection"
|
||||
#~ msgstr "Trong _vùng chọn"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Find Previous Selection"
|
||||
#~ msgstr "Tìm trước"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "set initial column number for the first opened file (useful in "
|
||||
#~ "conjunction with --line)"
|
||||
#~ msgstr "đặt số hiệu dòng đầu tiên cho tập tin được mở ban đầu"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Could not find file '%s'."
|
||||
#~ msgstr "Không tìm thấy tập tin sơ đồ điểm ảnh: %s"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Open project"
|
||||
#~ msgstr "Make đối tượng"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project files"
|
||||
#~ msgstr "Tài sản"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" closed."
|
||||
#~ msgstr "Tập tin %s đã được đóng."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project properties"
|
||||
#~ msgstr "Tài sản"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "C_reate"
|
||||
#~ msgstr "Ký tự"
|
||||
|
||||
# Name: don't translate/Tên: đừng dịch
|
||||
#, fuzzy
|
||||
#~ msgid "Name:"
|
||||
#~ msgstr "Make:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Description:"
|
||||
#~ msgstr "Tạo DVI:"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Filename:"
|
||||
#~ msgstr "Việt"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "File patterns:"
|
||||
#~ msgstr "Vùng T_rung Đông"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid ""
|
||||
#~ "There is already an open project \"%s\". Do you want to close it before "
|
||||
#~ "proceed?"
|
||||
#~ msgstr ""
|
||||
#~ "Chưa lưu tập tin « %s ».\n"
|
||||
#~ "Bạn có muốn lưu nó trước khi đóng không?"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project file could not be written."
|
||||
#~ msgstr "Tiến trình không dừng chạy được (%s)."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" created."
|
||||
#~ msgstr "Tài sản"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" saved."
|
||||
#~ msgstr "Tập tin %s đã được lưu."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project \"%s\" opened."
|
||||
#~ msgstr "Tài sản"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Project file could not be loaded."
|
||||
#~ msgstr "Tiến trình không dừng chạy được (%s)."
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "File location:"
|
||||
#~ msgstr "Tạo PDF:"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You have opened too many files. There is a limit of %d concurrent open "
|
||||
#~ "files."
|
||||
@ -3097,13 +3239,6 @@ msgstr "Ký tự lặt vặt"
|
||||
#~ msgid "Enter custom options for the make tool"
|
||||
#~ msgstr "Nhập tùy chọn riêng cho công cụ make"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The file '%s' is not saved.\n"
|
||||
#~ "Do you want to save it before closing?"
|
||||
#~ msgstr ""
|
||||
#~ "Chưa lưu tập tin « %s ».\n"
|
||||
#~ "Bạn có muốn lưu nó trước khi đóng không?"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Range:\t\t%s\n"
|
||||
#~ "\n"
|
||||
|
889
po/zh_CN.po
889
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
2549
po/zh_TW.po
2549
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -1116,6 +1116,11 @@ void ScintillaGTK::ScrollText(int linesToMove) {
|
||||
|
||||
gdk_gc_unref(gc);
|
||||
#else
|
||||
// check if e.g. an existing scroll event has occurred
|
||||
if (rgnUpdate != NULL) {
|
||||
Redraw();
|
||||
return;
|
||||
}
|
||||
gdk_window_scroll(wi->window, 0, -diff);
|
||||
gdk_window_process_updates(wi->window, FALSE);
|
||||
#endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* about.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -34,7 +35,7 @@ static GtkWidget *gb_window = NULL;
|
||||
#define INFO "<span size=\"larger\" weight=\"bold\">%s</span>"
|
||||
#define CODENAME "<span weight=\"bold\">\"" GEANY_CODENAME "\"</span>"
|
||||
#define BUILDDATE "<span size=\"smaller\">%s</span>"
|
||||
#define COPYRIGHT "Copyright (c) 2005-2006 \n Enrico Tröger \nAll rights reserved."
|
||||
#define COPYRIGHT "Copyright (c) 2005-2007 \n Enrico Tröger \nAll rights reserved."
|
||||
#define CREDITS \
|
||||
"<span size=\"larger\" weight=\"bold\">%s</span>\n\t\
|
||||
Enrico Tröger - %s\n\t\
|
||||
@ -55,6 +56,8 @@ Frank Lanitz - <language> de_DE\n\t\
|
||||
<frank@frank.uvena.de>\n\n\t\
|
||||
Damián Viano - <language> es\n\t\
|
||||
<debian@damianv.com.ar>\n\n\t\
|
||||
Harri Koskinen - <language> fi_FI\n\t\
|
||||
<harri@fastmonkey.org>\n\n\t\
|
||||
Jean-Philippe Moal - <language> fr\n\t\
|
||||
<skateinmars@momo.servegame.org>\n\n\t\
|
||||
Gabor Kmetyko - <language> hu\n\t\
|
||||
|
77
src/build.c
77
src/build.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* build.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -78,7 +79,6 @@ static void on_make_target_entry_activate(GtkEntry *entry, gpointer user_data);
|
||||
static void set_stop_button(gboolean stop);
|
||||
static void build_exit_cb(GPid child_pid, gint status, gpointer user_data);
|
||||
static void run_exit_cb(GPid child_pid, gint status, gpointer user_data);
|
||||
static void free_pointers(gpointer first, ...);
|
||||
|
||||
#ifndef G_OS_WIN32
|
||||
static void kill_process(GPid *pid);
|
||||
@ -154,7 +154,7 @@ GPid build_view_tex_file(gint idx, gint mode)
|
||||
if (stat(locale_filename, &st) != 0)
|
||||
{
|
||||
msgwin_status_add(_("Failed to view %s (make sure it is already compiled)"), view_file);
|
||||
free_pointers(executable, view_file, locale_filename, script_name);
|
||||
utils_free_pointers(executable, view_file, locale_filename, script_name, NULL);
|
||||
|
||||
return (GPid) 1;
|
||||
}
|
||||
@ -189,8 +189,8 @@ GPid build_view_tex_file(gint idx, gint mode)
|
||||
_("Could not find terminal '%s' "
|
||||
"(check path for Terminal tool setting in Preferences)"), app->tools_term_cmd);
|
||||
|
||||
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd);
|
||||
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd, NULL);
|
||||
g_strfreev(term_argv);
|
||||
return (GPid) 1;
|
||||
}
|
||||
@ -202,8 +202,8 @@ GPid build_view_tex_file(gint idx, gint mode)
|
||||
gchar *utf8_check_executable = utils_remove_ext_from_filename(doc_list[idx].file_name);
|
||||
msgwin_status_add(_("Failed to execute %s (start-script could not be created)"),
|
||||
utf8_check_executable);
|
||||
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
utf8_check_executable, script_name, locale_term_cmd);
|
||||
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
utf8_check_executable, script_name, locale_term_cmd, NULL);
|
||||
g_strfreev(term_argv);
|
||||
return (GPid) 1;
|
||||
}
|
||||
@ -230,8 +230,8 @@ GPid build_view_tex_file(gint idx, gint mode)
|
||||
geany_debug("g_spawn_async_with_pipes() failed: %s", error->message);
|
||||
msgwin_status_add(_("Process failed (%s)"), error->message);
|
||||
|
||||
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd);
|
||||
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd, NULL);
|
||||
g_strfreev(argv);
|
||||
g_strfreev(term_argv);
|
||||
g_error_free(error);
|
||||
@ -246,8 +246,8 @@ GPid build_view_tex_file(gint idx, gint mode)
|
||||
build_menu_update(idx);
|
||||
}
|
||||
|
||||
free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd);
|
||||
utils_free_pointers(executable, view_file, locale_filename, cmd_string, locale_cmd_string,
|
||||
script_name, locale_term_cmd, NULL);
|
||||
g_strfreev(argv);
|
||||
g_strfreev(term_argv);
|
||||
|
||||
@ -335,6 +335,15 @@ GPid build_link_file(gint idx)
|
||||
locale_filename = utils_get_locale_from_utf8(doc_list[idx].file_name);
|
||||
|
||||
executable = utils_remove_ext_from_filename(locale_filename);
|
||||
// check for filename extension and abort if filename doesn't have one
|
||||
if (utils_str_equal(locale_filename, executable))
|
||||
{
|
||||
msgwin_status_add(_("Command stopped because the current file has no extension."));
|
||||
utils_beep();
|
||||
utils_free_pointers(locale_filename, executable, NULL);
|
||||
return (GPid) 1;
|
||||
}
|
||||
|
||||
object_file = g_strdup_printf("%s.o", executable);
|
||||
|
||||
// check wether object file (file.o) exists
|
||||
@ -401,7 +410,7 @@ static GPid build_spawn_cmd(gint idx, gchar **cmd)
|
||||
gint stdout_fd;
|
||||
gint stderr_fd;
|
||||
|
||||
g_return_val_if_fail(idx >= 0 && doc_list[idx].is_valid, (GPid) 1);
|
||||
g_return_val_if_fail(DOC_IDX_VALID(idx), (GPid) 1);
|
||||
|
||||
document_clear_indicators(idx);
|
||||
|
||||
@ -432,7 +441,7 @@ static GPid build_spawn_cmd(gint idx, gchar **cmd)
|
||||
working_dir = g_path_get_dirname(locale_filename);
|
||||
utf8_working_dir = g_path_get_dirname(doc_list[idx].file_name);
|
||||
gtk_list_store_clear(msgwindow.store_compiler);
|
||||
msgwin_compiler_add(COLOR_BLUE, _("%s (in directory: %s)"), utf8_cmd_string, utf8_working_dir);
|
||||
msgwin_compiler_add_fmt(COLOR_BLUE, _("%s (in directory: %s)"), utf8_cmd_string, utf8_working_dir);
|
||||
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_COMPILER);
|
||||
|
||||
// set the build info for the message window
|
||||
@ -531,6 +540,15 @@ GPid build_run_cmd(gint idx)
|
||||
else
|
||||
check_executable = g_strdup(long_executable);
|
||||
|
||||
// check for filename extension and abort if filename doesn't have one
|
||||
if (utils_str_equal(locale_filename, check_executable))
|
||||
{
|
||||
msgwin_status_add(_("Command stopped because the current file has no extension."));
|
||||
utils_beep();
|
||||
result_id = (GPid) 1;
|
||||
goto free_strings;
|
||||
}
|
||||
|
||||
// check whether executable exists
|
||||
if (stat(check_executable, &st) != 0)
|
||||
{
|
||||
@ -727,7 +745,7 @@ static void show_build_result_message(gboolean failure)
|
||||
if (failure)
|
||||
{
|
||||
msg = _("Compilation failed.");
|
||||
msgwin_compiler_add(COLOR_DARK_RED, "%s", msg);
|
||||
msgwin_compiler_add(COLOR_DARK_RED, msg);
|
||||
// If msgwindow is hidden, user will want to display it to see the error
|
||||
if (! app->msgwindow_visible)
|
||||
{
|
||||
@ -741,7 +759,7 @@ static void show_build_result_message(gboolean failure)
|
||||
else
|
||||
{
|
||||
msg = _("Compilation finished successfully.");
|
||||
msgwin_compiler_add(COLOR_BLUE, "%s", msg);
|
||||
msgwin_compiler_add(COLOR_BLUE, msg);
|
||||
if (! app->msgwindow_visible ||
|
||||
gtk_notebook_get_current_page(GTK_NOTEBOOK(msgwindow.notebook)) != MSG_COMPILER)
|
||||
ui_set_statusbar("%s", msg);
|
||||
@ -810,7 +828,7 @@ static gboolean build_create_shellscript(const gint idx, const gchar *fname, con
|
||||
#else
|
||||
str = g_strdup_printf(
|
||||
"#!/bin/sh\n\n%s\n\necho \"\n\n------------------\n(program exited with code: $?)\" \
|
||||
\n\n%s\nunlink $0\n", cmd, (autoclose) ? "" :
|
||||
\n\n%s\nrm $0\n", cmd, (autoclose) ? "" :
|
||||
"\necho \"Press return to continue\"\n#to be more compatible with shells like dash\ndummy_var=\"\"\nread dummy_var");
|
||||
#endif
|
||||
|
||||
@ -1448,13 +1466,13 @@ static void kill_process(GPid *pid)
|
||||
* perforce necessary for just killing a process). But we must use a signal which we can
|
||||
* ignore because the main process get it too, it is declared to ignore in main.c. */
|
||||
|
||||
gint resultpg, result;
|
||||
gint result;
|
||||
|
||||
g_return_if_fail(*pid > 1);
|
||||
|
||||
// sent SIGQUIT to all the processes to the processes' own process group
|
||||
result = kill(*pid, SIGQUIT);
|
||||
resultpg = killpg(0, SIGQUIT);
|
||||
|
||||
if (result != 0 || resultpg != 0)
|
||||
if (result != 0)
|
||||
msgwin_status_add(_("Process could not be stopped (%s)."), g_strerror(errno));
|
||||
else
|
||||
{
|
||||
@ -1465,25 +1483,6 @@ static void kill_process(GPid *pid)
|
||||
#endif
|
||||
|
||||
|
||||
// frees all passed pointers if they are non-NULL, the first argument is nothing special,
|
||||
// it will also be freed
|
||||
static void free_pointers(gpointer first, ...)
|
||||
{
|
||||
va_list a;
|
||||
gpointer sa;
|
||||
|
||||
for (va_start(a, first); (sa = va_arg(a, gpointer), sa!=NULL);)
|
||||
{
|
||||
if (sa != NULL)
|
||||
g_free(sa);
|
||||
}
|
||||
va_end(a);
|
||||
|
||||
if (first != NULL)
|
||||
g_free(first);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
on_build_next_error (GtkMenuItem *menuitem,
|
||||
gpointer user_data)
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* callbacks.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -382,8 +383,7 @@ on_paste1_activate (GtkMenuItem *menuitem,
|
||||
gchar *content = gtk_clipboard_wait_for_text(gtk_clipboard_get(GDK_NONE));
|
||||
if (content != NULL)
|
||||
{
|
||||
sci_insert_text(doc_list[idx].sci,
|
||||
sci_get_current_position(doc_list[idx].sci), content);
|
||||
sci_replace_sel(doc_list[idx].sci, content);
|
||||
g_free(content);
|
||||
}
|
||||
}
|
||||
@ -885,7 +885,8 @@ on_file_save_dialog_response (GtkDialog *dialog,
|
||||
doc_list[idx].tm_file = NULL;
|
||||
g_free(doc_list[idx].file_name);
|
||||
}
|
||||
doc_list[idx].file_name = new_filename;
|
||||
doc_list[idx].file_name = utils_get_utf8_from_locale(new_filename);
|
||||
g_free(new_filename);
|
||||
|
||||
utils_replace_filename(idx);
|
||||
document_save_file(idx, TRUE);
|
||||
@ -2001,10 +2002,10 @@ on_menu_increase_indent1_activate (GtkMenuItem *menuitem,
|
||||
line = sci_get_current_line(doc_list[idx].sci, old_pos);
|
||||
ind_pos = sci_get_line_indent_position(doc_list[idx].sci, line);
|
||||
|
||||
sci_set_current_position(doc_list[idx].sci, ind_pos);
|
||||
sci_set_current_position(doc_list[idx].sci, ind_pos, TRUE);
|
||||
sci_cmd(doc_list[idx].sci, SCI_TAB);
|
||||
sci_set_current_position(doc_list[idx].sci,
|
||||
(old_pos > ind_pos) ? old_pos + 1 : old_pos);
|
||||
(old_pos > ind_pos) ? old_pos + 1 : old_pos, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2030,10 +2031,10 @@ on_menu_decrease_indent1_activate (GtkMenuItem *menuitem,
|
||||
|
||||
if (ind_pos == sci_get_position_from_line(doc_list[idx].sci, line))
|
||||
return;
|
||||
sci_set_current_position(doc_list[idx].sci, ind_pos);
|
||||
sci_set_current_position(doc_list[idx].sci, ind_pos, TRUE);
|
||||
sci_cmd(doc_list[idx].sci, SCI_BACKTAB);
|
||||
sci_set_current_position(doc_list[idx].sci,
|
||||
(old_pos >= ind_pos) ? old_pos - 1 : old_pos);
|
||||
(old_pos >= ind_pos) ? old_pos - 1 : old_pos, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -126,7 +126,7 @@ void dialogs_show_open_file ()
|
||||
g_signal_connect((gpointer) app->open_filesel, "selection-changed",
|
||||
G_CALLBACK(on_file_open_selection_changed), NULL);
|
||||
g_signal_connect ((gpointer) app->open_filesel, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide), NULL);
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
g_signal_connect((gpointer) app->open_filesel, "response",
|
||||
G_CALLBACK(on_file_open_dialog_response), NULL);
|
||||
}
|
||||
@ -266,8 +266,10 @@ gboolean dialogs_show_save_as()
|
||||
gtk_window_set_type_hint(GTK_WINDOW(app->save_filesel), GDK_WINDOW_TYPE_HINT_DIALOG);
|
||||
gtk_dialog_set_default_response(GTK_DIALOG(app->save_filesel), GTK_RESPONSE_ACCEPT);
|
||||
|
||||
g_signal_connect((gpointer) app->save_filesel, "delete_event", G_CALLBACK(gtk_widget_hide), NULL);
|
||||
g_signal_connect((gpointer) app->save_filesel, "response", G_CALLBACK(on_file_save_dialog_response), NULL);
|
||||
g_signal_connect((gpointer) app->save_filesel, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
g_signal_connect((gpointer) app->save_filesel, "response",
|
||||
G_CALLBACK(on_file_save_dialog_response), NULL);
|
||||
|
||||
gtk_window_set_transient_for(GTK_WINDOW(app->save_filesel), GTK_WINDOW(app->window));
|
||||
}
|
||||
@ -340,7 +342,7 @@ gboolean dialogs_show_unsaved_file(gint idx)
|
||||
|
||||
// display the file tab to remind the user of the document
|
||||
gtk_notebook_set_current_page(GTK_NOTEBOOK(app->notebook),
|
||||
document_find_by_sci(doc_list[idx].sci));
|
||||
document_get_notebook_page(idx));
|
||||
|
||||
if (doc_list[idx].file_name != NULL)
|
||||
{
|
||||
@ -414,7 +416,7 @@ void dialogs_show_open_font()
|
||||
gtk_widget_show(GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->apply_button);
|
||||
|
||||
g_signal_connect((gpointer) app->open_fontsel,
|
||||
"delete_event", G_CALLBACK(gtk_widget_hide), NULL);
|
||||
"delete_event", G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->ok_button,
|
||||
"clicked", G_CALLBACK(on_font_ok_button_clicked), NULL);
|
||||
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->cancel_button,
|
||||
@ -422,7 +424,8 @@ void dialogs_show_open_font()
|
||||
g_signal_connect((gpointer) GTK_FONT_SELECTION_DIALOG(app->open_fontsel)->apply_button,
|
||||
"clicked", G_CALLBACK(on_font_apply_button_clicked), NULL);
|
||||
|
||||
gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(app->open_fontsel), app->editor_font);
|
||||
gtk_font_selection_dialog_set_font_name(
|
||||
GTK_FONT_SELECTION_DIALOG(app->open_fontsel), app->editor_font);
|
||||
gtk_window_set_transient_for(GTK_WINDOW(app->open_fontsel), GTK_WINDOW(app->window));
|
||||
}
|
||||
/* We make sure the dialog is visible. */
|
||||
@ -545,7 +548,7 @@ void dialogs_show_color(gchar *colour)
|
||||
g_signal_connect(GTK_COLOR_SELECTION_DIALOG(app->open_colorsel)->ok_button, "clicked",
|
||||
G_CALLBACK(on_color_ok_button_clicked), NULL);
|
||||
g_signal_connect(app->open_colorsel, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide), NULL);
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
}
|
||||
// if colour is non-NULL set it in the dialog as preselected colour
|
||||
if (colour != NULL && (colour[0] == '0' || colour[0] == '#'))
|
||||
@ -1014,7 +1017,8 @@ void dialogs_show_file_properties(gint idx)
|
||||
|
||||
enctext = g_strdup_printf("%s %s",
|
||||
doc_list[idx].encoding,
|
||||
(utils_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "");
|
||||
(encodings_is_unicode_charset(doc_list[idx].encoding)) ?
|
||||
((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "");
|
||||
|
||||
label = gtk_label_new(enctext);
|
||||
g_free(enctext);
|
||||
|
373
src/document.c
373
src/document.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* document.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -74,7 +75,7 @@ static void document_redo_add(gint idx, guint type, gpointer data);
|
||||
|
||||
|
||||
|
||||
/* returns the index of the notebook page which has the given filename
|
||||
/* returns the document index which has the given filename.
|
||||
* is_tm_filename is needed when passing TagManager filenames because they are
|
||||
* dereferenced, and would not match the link filename. */
|
||||
gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename)
|
||||
@ -98,7 +99,7 @@ gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename)
|
||||
}
|
||||
|
||||
|
||||
/* returns the index of the notebook page which has sci */
|
||||
/* returns the document index which has sci */
|
||||
gint document_find_by_sci(ScintillaObject *sci)
|
||||
{
|
||||
guint i;
|
||||
@ -113,6 +114,16 @@ gint document_find_by_sci(ScintillaObject *sci)
|
||||
}
|
||||
|
||||
|
||||
/* returns the index of the notebook page from the document index */
|
||||
gint document_get_notebook_page(gint doc_idx)
|
||||
{
|
||||
if (! DOC_IDX_VALID(doc_idx)) return -1;
|
||||
|
||||
return gtk_notebook_page_num(GTK_NOTEBOOK(app->notebook),
|
||||
GTK_WIDGET(doc_list[doc_idx].sci));
|
||||
}
|
||||
|
||||
|
||||
/* returns the index of the given notebook page in the document list */
|
||||
gint document_get_n_idx(guint page_num)
|
||||
{
|
||||
@ -207,6 +218,7 @@ static void init_doc_struct(document *new_doc)
|
||||
new_doc->sci = NULL;
|
||||
new_doc->undo_actions = NULL;
|
||||
new_doc->redo_actions = NULL;
|
||||
new_doc->scroll_percent = -1.0F;
|
||||
}
|
||||
|
||||
|
||||
@ -348,6 +360,7 @@ gboolean document_remove(guint page_num)
|
||||
doc_list[idx].encoding = NULL;
|
||||
doc_list[idx].has_bom = FALSE;
|
||||
doc_list[idx].tm_file = NULL;
|
||||
doc_list[idx].scroll_percent = -1.0F;
|
||||
document_undo_clear(idx);
|
||||
if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)) == 0)
|
||||
{
|
||||
@ -405,8 +418,11 @@ void document_new_file(filetype *ft)
|
||||
if (ft == NULL) filetypes[GEANY_FILETYPES_ALL]->style_func_ptr(doc_list[idx].sci);
|
||||
ui_set_window_title(idx);
|
||||
build_menu_update(idx);
|
||||
|
||||
doc_list[idx].mtime = time(NULL);
|
||||
doc_list[idx].changed = FALSE;
|
||||
|
||||
document_update_tag_list(idx, FALSE);
|
||||
document_set_text_changed(idx);
|
||||
ui_document_show_hide(idx); //update the document menu
|
||||
|
||||
@ -421,113 +437,236 @@ void document_new_file(filetype *ft)
|
||||
}
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gchar *data; // null-terminated file data
|
||||
gsize len; // string length of data
|
||||
gchar *enc;
|
||||
gboolean bom;
|
||||
time_t mtime; // modification time, read by stat::st_mtime
|
||||
gboolean readonly;
|
||||
} FileData;
|
||||
|
||||
|
||||
// reload file with specified encoding
|
||||
static gboolean
|
||||
handle_forced_encoding(gchar **data, gsize *size, const gchar *forced_enc, gchar **enc,
|
||||
gboolean *bom)
|
||||
handle_forced_encoding(FileData *filedata, const gchar *forced_enc)
|
||||
{
|
||||
GeanyEncodingIndex enc_idx;
|
||||
|
||||
if (utils_str_equal(forced_enc, "UTF-8"))
|
||||
{
|
||||
if (! g_utf8_validate(*data, *size, NULL))
|
||||
if (! g_utf8_validate(filedata->data, filedata->len, NULL))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
*bom = utils_str_equal(utils_scan_unicode_bom(*data), "UTF-8");
|
||||
*enc = g_strdup(forced_enc);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gchar *converted_text = encodings_convert_to_utf8_from_charset(
|
||||
*data, *size, forced_enc, FALSE);
|
||||
filedata->data, filedata->len, forced_enc, FALSE);
|
||||
if (converted_text == NULL)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free(*data);
|
||||
*data = (void*)converted_text;
|
||||
*size = strlen(converted_text);
|
||||
*bom = utils_str_equal(utils_scan_unicode_bom(*data), "UTF-8");
|
||||
*enc = g_strdup(forced_enc);
|
||||
g_free(filedata->data);
|
||||
filedata->data = converted_text;
|
||||
filedata->len = strlen(converted_text);
|
||||
}
|
||||
}
|
||||
enc_idx = encodings_scan_unicode_bom(filedata->data, filedata->len, NULL);
|
||||
filedata->bom = (enc_idx == GEANY_ENCODING_UTF_8);
|
||||
filedata->enc = g_strdup(forced_enc);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
// detect encoding and convert to UTF-8 if necessary
|
||||
static gboolean
|
||||
handle_encoding(gchar **data, gsize *size, gchar **enc, gboolean *bom)
|
||||
handle_encoding(FileData *filedata)
|
||||
{
|
||||
if (*size > 0)
|
||||
{ // the usual way to detect encoding and convert to UTF-8
|
||||
if (*size >= 4)
|
||||
g_return_val_if_fail(filedata->enc == NULL, FALSE);
|
||||
g_return_val_if_fail(filedata->bom == FALSE, FALSE);
|
||||
|
||||
if (filedata->len == 0)
|
||||
{
|
||||
*enc = utils_scan_unicode_bom(*data);
|
||||
// we have no data so assume UTF-8
|
||||
filedata->enc = g_strdup("UTF-8");
|
||||
}
|
||||
if (*enc != NULL)
|
||||
else
|
||||
{
|
||||
*bom = TRUE;
|
||||
if ((*enc)[4] != '8') // the BOM indicated something else than UTF-8
|
||||
// first check for a BOM
|
||||
GeanyEncodingIndex enc_idx =
|
||||
encodings_scan_unicode_bom(filedata->data, filedata->len, NULL);
|
||||
|
||||
if (enc_idx != GEANY_ENCODING_NONE)
|
||||
{
|
||||
filedata->enc = g_strdup(encodings[enc_idx].charset);
|
||||
filedata->bom = TRUE;
|
||||
|
||||
if (enc_idx != GEANY_ENCODING_UTF_8) // the BOM indicated something else than UTF-8
|
||||
{
|
||||
gchar *converted_text = encodings_convert_to_utf8_from_charset(
|
||||
*data, *size, *enc, FALSE);
|
||||
if (converted_text == NULL)
|
||||
filedata->data, filedata->len, filedata->enc, FALSE);
|
||||
if (converted_text != NULL)
|
||||
{
|
||||
g_free(*enc);
|
||||
*enc = NULL;
|
||||
*bom = FALSE;
|
||||
g_free(filedata->data);
|
||||
filedata->data = converted_text;
|
||||
filedata->len = strlen(converted_text);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free(*data);
|
||||
*data = (void*)converted_text;
|
||||
*size = strlen(converted_text);
|
||||
// there was a problem converting data from BOM encoding type
|
||||
g_free(filedata->enc);
|
||||
filedata->enc = NULL;
|
||||
filedata->bom = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
// this if is important, else doesn't work because enc can be altered in the above block
|
||||
if (*enc == NULL)
|
||||
|
||||
if (filedata->enc == NULL) // either there was no BOM or the BOM encoding failed
|
||||
{
|
||||
if (g_utf8_validate(*data, *size, NULL))
|
||||
// try UTF-8 first
|
||||
if (g_utf8_validate(filedata->data, filedata->len, NULL))
|
||||
{
|
||||
*enc = g_strdup("UTF-8");
|
||||
filedata->enc = g_strdup("UTF-8");
|
||||
}
|
||||
else
|
||||
{
|
||||
gchar *converted_text = encodings_convert_to_utf8(*data, *size, enc);
|
||||
// detect the encoding
|
||||
gchar *converted_text = encodings_convert_to_utf8(filedata->data,
|
||||
filedata->len, &filedata->enc);
|
||||
|
||||
if (converted_text == NULL)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free(*data);
|
||||
*data = (void*)converted_text;
|
||||
*size = strlen(converted_text);
|
||||
g_free(filedata->data);
|
||||
filedata->data = converted_text;
|
||||
filedata->len = strlen(converted_text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
*enc = g_strdup("UTF-8");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
handle_bom(gchar **data)
|
||||
handle_bom(FileData *filedata)
|
||||
{
|
||||
gchar *data_without_bom;
|
||||
data_without_bom = g_strdup(*data + 3);
|
||||
g_free(*data);
|
||||
*data = data_without_bom;
|
||||
guint bom_len;
|
||||
|
||||
encodings_scan_unicode_bom(filedata->data, filedata->len, &bom_len);
|
||||
g_return_if_fail(bom_len != 0);
|
||||
|
||||
filedata->len -= bom_len;
|
||||
// overwrite the BOM with the remainder of the file contents, plus the NULL terminator.
|
||||
g_memmove(filedata->data, filedata->data + bom_len, filedata->len + 1);
|
||||
filedata->data = g_realloc(filedata->data, filedata->len + 1);
|
||||
}
|
||||
|
||||
|
||||
/* loads textfile data, verifies and converts to forced_enc or UTF-8. Also handles BOM. */
|
||||
static gboolean load_text_file(const gchar *locale_filename, const gchar *utf8_filename,
|
||||
FileData *filedata, const gchar *forced_enc)
|
||||
{
|
||||
GError *err = NULL;
|
||||
struct stat st;
|
||||
|
||||
filedata->data = NULL;
|
||||
filedata->len = 0;
|
||||
filedata->enc = NULL;
|
||||
filedata->bom = FALSE;
|
||||
filedata->readonly = FALSE;
|
||||
|
||||
if (stat(locale_filename, &st) != 0)
|
||||
{
|
||||
msgwin_status_add(_("Could not open file %s (%s)"), utf8_filename, g_strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
filedata->mtime = st.st_mtime;
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
if (! g_file_get_contents(utf8_filename, &filedata->data, NULL, &err))
|
||||
#else
|
||||
if (! g_file_get_contents(locale_filename, &filedata->data, NULL, &err))
|
||||
#endif
|
||||
{
|
||||
msgwin_status_add(err->message);
|
||||
g_error_free(err);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// use strlen to check for null chars
|
||||
filedata->len = strlen(filedata->data);
|
||||
|
||||
/* check whether the size of the loaded data is equal to the size of the file in the filesystem */
|
||||
if (filedata->len != (gsize) st.st_size)
|
||||
{
|
||||
gchar *warn_msg = _("The file \"%s\" could not be opened properly and has been truncated. "
|
||||
"This can occur if the file contains a NULL byte. "
|
||||
"Be aware that saving it can cause data loss.\nThe file was set to read-only.");
|
||||
|
||||
if (app->main_window_realized)
|
||||
dialogs_show_msgbox(GTK_MESSAGE_WARNING, warn_msg, utf8_filename);
|
||||
|
||||
msgwin_status_add(warn_msg, utf8_filename);
|
||||
|
||||
// set the file to read-only mode because saving it is probably dangerous
|
||||
filedata->readonly = TRUE;
|
||||
}
|
||||
|
||||
/* Determine character encoding and convert to UTF-8 */
|
||||
if (forced_enc != NULL)
|
||||
{
|
||||
// the encoding should be ignored(requested by user), so open the file "as it is"
|
||||
if (utils_str_equal(forced_enc, encodings[GEANY_ENCODING_NONE].charset))
|
||||
{
|
||||
filedata->bom = FALSE;
|
||||
filedata->enc = g_strdup(encodings[GEANY_ENCODING_NONE].charset);
|
||||
}
|
||||
else if (! handle_forced_encoding(filedata, forced_enc))
|
||||
{
|
||||
msgwin_status_add(_("The file \"%s\" is not valid %s."), utf8_filename, forced_enc);
|
||||
utils_beep();
|
||||
g_free(filedata->data);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
else if (! handle_encoding(filedata))
|
||||
{
|
||||
msgwin_status_add(
|
||||
_("The file \"%s\" does not look like a text file or the file encoding is not supported."),
|
||||
utf8_filename);
|
||||
utils_beep();
|
||||
g_free(filedata->data);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (filedata->bom)
|
||||
handle_bom(filedata);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/* Sets the cursor position on opening a file. First it sets the line when cl_options.goto_line
|
||||
* is set, otherwise it sets the line when pos is greater than zero. */
|
||||
static void set_cursor_position(gint idx, gint pos)
|
||||
{
|
||||
if (cl_options.goto_line >= 0)
|
||||
{ // goto line which was specified on command line and then undefine the line
|
||||
sci_goto_line(doc_list[idx].sci, cl_options.goto_line - 1, TRUE);
|
||||
doc_list[idx].scroll_percent = 0.5F;
|
||||
cl_options.goto_line = -1;
|
||||
}
|
||||
else if (pos > 0)
|
||||
{
|
||||
sci_set_current_position(doc_list[idx].sci, pos, FALSE);
|
||||
doc_list[idx].scroll_percent = 0.5F;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -541,16 +680,11 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
|
||||
const gchar *forced_enc)
|
||||
{
|
||||
gint editor_mode;
|
||||
gsize size;
|
||||
gboolean reload = (idx == -1) ? FALSE : TRUE;
|
||||
struct stat st;
|
||||
gboolean bom = FALSE;
|
||||
gchar *enc = NULL;
|
||||
gchar *utf8_filename = NULL;
|
||||
gchar *locale_filename = NULL;
|
||||
GError *err = NULL;
|
||||
gchar *data = NULL;
|
||||
filetype *use_ft;
|
||||
FileData filedata;
|
||||
|
||||
//struct timeval tv, tv1;
|
||||
//struct timezone tz;
|
||||
@ -585,120 +719,52 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
|
||||
g_free(utf8_filename);
|
||||
g_free(locale_filename);
|
||||
utils_check_disk_status(idx, TRUE); // force a file changed check
|
||||
set_cursor_position(idx, pos);
|
||||
return idx;
|
||||
}
|
||||
}
|
||||
|
||||
if (stat(locale_filename, &st) != 0)
|
||||
if (! load_text_file(locale_filename, utf8_filename, &filedata, forced_enc))
|
||||
{
|
||||
msgwin_status_add(_("Could not open file %s (%s)"), utf8_filename, g_strerror(errno));
|
||||
g_free(utf8_filename);
|
||||
g_free(locale_filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
if (! g_file_get_contents(utf8_filename, &data, NULL, &err))
|
||||
#else
|
||||
if (! g_file_get_contents(locale_filename, &data, NULL, &err))
|
||||
#endif
|
||||
{
|
||||
msgwin_status_add(err->message);
|
||||
g_error_free(err);
|
||||
g_free(utf8_filename);
|
||||
g_free(locale_filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* check whether the size of the loaded data is equal to the size of the file in the filesystem */
|
||||
//size = strlen(data);
|
||||
size = strlen(data);
|
||||
if (size != (gsize) st.st_size)
|
||||
{
|
||||
gchar *warn_msg = _("The file \"%s\" could not opened properly and probably was truncated. "
|
||||
"Be aware that saving it can cause data loss.\nThe file was set to read-only.");
|
||||
|
||||
if (app->main_window_realized)
|
||||
dialogs_show_msgbox(GTK_MESSAGE_WARNING, warn_msg, utf8_filename);
|
||||
|
||||
msgwin_status_add(warn_msg, utf8_filename);
|
||||
|
||||
// set the file to read-only mode because saving it is probably dangerous
|
||||
readonly = TRUE;
|
||||
}
|
||||
|
||||
/* Determine character encoding and convert to UTF-8 */
|
||||
if (forced_enc != NULL)
|
||||
{
|
||||
// the encoding should be ignored(requested by user), so open the file "as it is"
|
||||
if (utils_str_equal(forced_enc, encodings[GEANY_ENCODING_NONE].charset))
|
||||
{
|
||||
bom = FALSE;
|
||||
enc = g_strdup(encodings[GEANY_ENCODING_NONE].charset);
|
||||
}
|
||||
else if (! handle_forced_encoding(&data, &size, forced_enc, &enc, &bom))
|
||||
{
|
||||
msgwin_status_add(_("The file \"%s\" is not valid %s."), utf8_filename, forced_enc);
|
||||
utils_beep();
|
||||
g_free(data);
|
||||
g_free(utf8_filename);
|
||||
g_free(locale_filename);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else if (! handle_encoding(&data, &size, &enc, &bom))
|
||||
{
|
||||
msgwin_status_add(
|
||||
_("The file \"%s\" does not look like a text file or the file encoding is not supported."),
|
||||
utf8_filename);
|
||||
utils_beep();
|
||||
g_free(data);
|
||||
g_free(utf8_filename);
|
||||
g_free(locale_filename);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (bom) handle_bom(&data);
|
||||
|
||||
if (! reload) idx = document_create_new_sci(utf8_filename);
|
||||
if (idx == -1) return -1; // really should not happen
|
||||
g_return_val_if_fail(idx != -1, -1); // really should not happen
|
||||
|
||||
// set editor mode and add the text to the ScintillaObject
|
||||
sci_set_undo_collection(doc_list[idx].sci, FALSE); // avoid creation of an undo action
|
||||
sci_empty_undo_buffer(doc_list[idx].sci);
|
||||
sci_set_text(doc_list[idx].sci, data); // NULL terminated data
|
||||
|
||||
editor_mode = utils_get_line_endings(data, size);
|
||||
// add the text to the ScintillaObject
|
||||
sci_set_text(doc_list[idx].sci, filedata.data); // NULL terminated data
|
||||
|
||||
// detect & set line endings
|
||||
editor_mode = utils_get_line_endings(filedata.data, filedata.len);
|
||||
sci_set_eol_mode(doc_list[idx].sci, editor_mode);
|
||||
sci_set_line_numbers(doc_list[idx].sci, app->show_linenumber_margin, 0);
|
||||
g_free(filedata.data);
|
||||
|
||||
sci_set_undo_collection(doc_list[idx].sci, TRUE);
|
||||
|
||||
doc_list[idx].mtime = st.st_mtime; // get the modification time from file and keep it
|
||||
doc_list[idx].mtime = filedata.mtime; // get the modification time from file and keep it
|
||||
doc_list[idx].changed = FALSE;
|
||||
g_free(doc_list[idx].encoding); // if reloading, free old encoding
|
||||
doc_list[idx].encoding = enc;
|
||||
doc_list[idx].has_bom = bom;
|
||||
doc_list[idx].encoding = filedata.enc;
|
||||
doc_list[idx].has_bom = filedata.bom;
|
||||
store_saved_encoding(idx); // store the opened encoding for undo/redo
|
||||
|
||||
if (cl_options.goto_line >= 0)
|
||||
{ // goto line which was specified on command line and then undefine the line
|
||||
sci_goto_line(doc_list[idx].sci, cl_options.goto_line - 1, TRUE);
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
|
||||
cl_options.goto_line = -1;
|
||||
}
|
||||
else if (pos >= 0)
|
||||
{
|
||||
sci_goto_pos(doc_list[idx].sci, pos, FALSE);
|
||||
if (reload)
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
|
||||
}
|
||||
doc_list[idx].readonly = readonly || filedata.readonly;
|
||||
sci_set_readonly(doc_list[idx].sci, doc_list[idx].readonly);
|
||||
|
||||
// update line number margin width
|
||||
sci_set_line_numbers(doc_list[idx].sci, app->show_linenumber_margin, 0);
|
||||
|
||||
// set the cursor position according to pos, cl_options.goto_line and cl_options.goto_column
|
||||
set_cursor_position(idx, pos);
|
||||
|
||||
if (! reload)
|
||||
{
|
||||
doc_list[idx].readonly = readonly;
|
||||
sci_set_readonly(doc_list[idx].sci, readonly);
|
||||
|
||||
// "the" SCI signal (connect after initial setup(i.e. adding text))
|
||||
g_signal_connect((GtkWidget*) doc_list[idx].sci, "sci-notify",
|
||||
G_CALLBACK(on_editor_notification), GINT_TO_POINTER(idx));
|
||||
@ -716,8 +782,6 @@ int document_open_file(gint idx, const gchar *filename, gint pos, gboolean reado
|
||||
document_set_text_changed(idx); // also updates tab state
|
||||
ui_document_show_hide(idx); // update the document menu
|
||||
|
||||
g_free(data);
|
||||
|
||||
|
||||
// finally add current file to recent files menu, but not the files from the last session
|
||||
if (! app->opening_session_files) ui_add_recent_file(utf8_filename);
|
||||
@ -840,7 +904,7 @@ gboolean document_save_file(gint idx, gboolean force)
|
||||
sci_convert_eols(doc_list[idx].sci, sci_get_eol_mode(doc_list[idx].sci));
|
||||
|
||||
len = sci_get_length(doc_list[idx].sci) + 1;
|
||||
if (doc_list[idx].has_bom && utils_is_unicode_charset(doc_list[idx].encoding))
|
||||
if (doc_list[idx].has_bom && encodings_is_unicode_charset(doc_list[idx].encoding))
|
||||
{
|
||||
data = (gchar*) g_malloc(len + 3); // 3 chars for BOM
|
||||
data[0] = 0xef;
|
||||
@ -979,7 +1043,7 @@ void document_search_bar_find(gint idx, const gchar *text, gint flags, gboolean
|
||||
{
|
||||
sci_set_selection_start(doc_list[idx].sci, ttf.chrgText.cpMin);
|
||||
sci_set_selection_end(doc_list[idx].sci, ttf.chrgText.cpMax);
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.3);
|
||||
doc_list[idx].scroll_percent = 0.3F;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1027,7 +1091,7 @@ gint document_find_text(gint idx, const gchar *text, gint flags, gboolean search
|
||||
if (search_pos != -1)
|
||||
{
|
||||
if (scroll)
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.3);
|
||||
doc_list[idx].scroll_percent = 0.3F;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1552,6 +1616,8 @@ void document_strip_trailing_spaces(gint idx)
|
||||
gint max_lines = sci_get_line_count(doc_list[idx].sci);
|
||||
gint line;
|
||||
|
||||
sci_start_undo_action(doc_list[idx].sci);
|
||||
|
||||
for (line = 0; line < max_lines; line++)
|
||||
{
|
||||
gint line_start = sci_get_position_from_line(doc_list[idx].sci, line);
|
||||
@ -1571,6 +1637,7 @@ void document_strip_trailing_spaces(gint idx)
|
||||
sci_target_replace(doc_list[idx].sci, "", FALSE);
|
||||
}
|
||||
}
|
||||
sci_end_undo_action(doc_list[idx].sci);
|
||||
}
|
||||
|
||||
|
||||
@ -1611,7 +1678,7 @@ void document_set_encoding(gint idx, const gchar *new_encoding)
|
||||
|
||||
ui_update_statusbar(idx, -1);
|
||||
gtk_widget_set_sensitive(lookup_widget(app->window, "menu_write_unicode_bom1"),
|
||||
utils_is_unicode_charset(doc_list[idx].encoding));
|
||||
encodings_is_unicode_charset(doc_list[idx].encoding));
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* document.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -63,6 +64,7 @@ typedef struct document
|
||||
gboolean changed;
|
||||
gboolean line_breaking;
|
||||
gboolean use_auto_indention;
|
||||
gfloat scroll_percent; // % to scroll view by on paint, if positive.
|
||||
time_t last_check; // to remember the last disk check
|
||||
time_t mtime;
|
||||
GTrashStack *undo_actions;
|
||||
@ -86,14 +88,19 @@ extern GArray *doc_array;
|
||||
(doc_list[doc_idx].file_name) : GEANY_STRING_UNTITLED)
|
||||
|
||||
|
||||
/* returns the index of the notebook page which has the given filename */
|
||||
gint document_find_by_filename(const gchar*, gboolean is_tm_filename);
|
||||
/* returns the document index which has the given filename.
|
||||
* is_tm_filename is needed when passing TagManager filenames because they are
|
||||
* dereferenced, and would not match the link filename. */
|
||||
gint document_find_by_filename(const gchar *filename, gboolean is_tm_filename);
|
||||
|
||||
|
||||
/* returns the index of the notebook page which has sci */
|
||||
gint document_find_by_sci(ScintillaObject*);
|
||||
/* returns the document index which has sci */
|
||||
gint document_find_by_sci(ScintillaObject *sci);
|
||||
|
||||
|
||||
/* returns the index of the notebook page from the document index */
|
||||
gint document_get_notebook_page(gint doc_idx);
|
||||
|
||||
/* returns the index of the given notebook page in the document list */
|
||||
gint document_get_n_idx(guint page_num);
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* encodings.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -39,12 +40,12 @@
|
||||
|
||||
|
||||
|
||||
#define fill(v, w, x, y, z) \
|
||||
encodings[x].idx = x; \
|
||||
encodings[x].order = v; \
|
||||
encodings[x].group = w; \
|
||||
encodings[x].charset = y; \
|
||||
encodings[x].name = z;
|
||||
#define fill(Order, Group, Idx, Charset, Name) \
|
||||
encodings[Idx].idx = Idx; \
|
||||
encodings[Idx].order = Order; \
|
||||
encodings[Idx].group = Group; \
|
||||
encodings[Idx].charset = Charset; \
|
||||
encodings[Idx].name = Name;
|
||||
|
||||
static void init_encodings(void)
|
||||
{
|
||||
@ -377,3 +378,71 @@ gchar *encodings_convert_to_utf8(const gchar *buffer, gsize size, gchar **used_e
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* If there's a BOM, return a corresponding GEANY_ENCODING_UTF_* index,
|
||||
* otherwise GEANY_ENCODING_NONE.
|
||||
* */
|
||||
GeanyEncodingIndex encodings_scan_unicode_bom(const gchar *string, gsize len, guint *bom_len)
|
||||
{
|
||||
if (len >= 3)
|
||||
{
|
||||
if (bom_len)
|
||||
*bom_len = 3;
|
||||
|
||||
if ((guchar)string[0] == 0xef && (guchar)string[1] == 0xbb &&
|
||||
(guchar)string[2] == 0xbf)
|
||||
{
|
||||
return GEANY_ENCODING_UTF_8;
|
||||
}
|
||||
}
|
||||
if (len >= 4)
|
||||
{
|
||||
if (bom_len)
|
||||
*bom_len = 4;
|
||||
|
||||
if ((guchar)string[0] == 0x00 && (guchar)string[1] == 0x00 &&
|
||||
(guchar)string[2] == 0xfe && (guchar)string[3] == 0xff)
|
||||
{
|
||||
return GEANY_ENCODING_UTF_32BE; // Big endian
|
||||
}
|
||||
if ((guchar)string[0] == 0xff && (guchar)string[1] == 0xfe &&
|
||||
(guchar)string[2] == 0x00 && (guchar)string[3] == 0x00)
|
||||
{
|
||||
return GEANY_ENCODING_UTF_32LE; // Little endian
|
||||
}
|
||||
if ((string[0] == 0x2b && string[1] == 0x2f && string[2] == 0x76) &&
|
||||
(string[3] == 0x38 || string[3] == 0x39 || string[3] == 0x2b || string[3] == 0x2f))
|
||||
{
|
||||
return GEANY_ENCODING_UTF_7;
|
||||
}
|
||||
}
|
||||
if (len >= 2)
|
||||
{
|
||||
if (bom_len)
|
||||
*bom_len = 2;
|
||||
|
||||
if ((guchar)string[0]==0xfe && (guchar)string[1] == 0xff)
|
||||
{
|
||||
return GEANY_ENCODING_UTF_16BE; // Big endian
|
||||
}
|
||||
if ((guchar)string[0] == 0xff && (guchar)string[1] == 0xfe)
|
||||
{
|
||||
return GEANY_ENCODING_UTF_16LE; // Little endian
|
||||
}
|
||||
}
|
||||
if (bom_len)
|
||||
*bom_len = 0;
|
||||
return GEANY_ENCODING_NONE;
|
||||
}
|
||||
|
||||
|
||||
gboolean encodings_is_unicode_charset(const gchar *string)
|
||||
{
|
||||
if (string != NULL && (strncmp(string, "UTF", 3) == 0 || strncmp(string, "UCS", 3) == 0))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* encodings.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -74,6 +75,8 @@ gchar *encodings_convert_to_utf8(const gchar *buffer, gsize size, gchar **used_e
|
||||
gchar *encodings_convert_to_utf8_from_charset(const gchar *buffer, gsize size,
|
||||
const gchar *charset, gboolean fast);
|
||||
|
||||
gboolean encodings_is_unicode_charset(const gchar *string);
|
||||
|
||||
|
||||
/*
|
||||
* The original versions of the following tables are taken from profterm
|
||||
@ -161,4 +164,7 @@ typedef enum
|
||||
|
||||
GeanyEncoding encodings[GEANY_ENCODINGS_MAX];
|
||||
|
||||
|
||||
GeanyEncodingIndex encodings_scan_unicode_bom(const gchar *string, gsize len, guint *bom_len);
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* highlighting.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -1435,7 +1436,7 @@ static void styleset_perl_init(void)
|
||||
|
||||
load_keyfiles(config, config_home, GEANY_FILETYPES_PERL);
|
||||
|
||||
new_style_array(GEANY_FILETYPES_PERL, 17);
|
||||
new_style_array(GEANY_FILETYPES_PERL, 30);
|
||||
get_keyfile_hex(config, config_home, "styling", "default", "0x000000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[0]);
|
||||
get_keyfile_hex(config, config_home, "styling", "error", "0xff0000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[1]);
|
||||
get_keyfile_style(config, config_home, "commentline", &gsd_comment, &style_sets[GEANY_FILETYPES_PERL].styling[2]);
|
||||
@ -1453,6 +1454,19 @@ static void styleset_perl_init(void)
|
||||
get_keyfile_hex(config, config_home, "styling", "hash", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[14]);
|
||||
get_keyfile_hex(config, config_home, "styling", "symboltable", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[15]);
|
||||
get_keyfile_hex(config, config_home, "styling", "backticks", "0x000000", "0xe0c0e0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[16]);
|
||||
get_keyfile_hex(config, config_home, "styling", "pod_verbatim", "0x004000", "0xc0ffc0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[17]);
|
||||
get_keyfile_hex(config, config_home, "styling", "reg_subst", "0x000000", "0xf0e080", "false", &style_sets[GEANY_FILETYPES_PERL].styling[18]);
|
||||
get_keyfile_hex(config, config_home, "styling", "datasection", "0x600000", "0xfff0d8", "false", &style_sets[GEANY_FILETYPES_PERL].styling[19]);
|
||||
get_keyfile_hex(config, config_home, "styling", "here_delim", "0x000000", "0xddd0dd", "false", &style_sets[GEANY_FILETYPES_PERL].styling[20]);
|
||||
get_keyfile_hex(config, config_home, "styling", "here_q", "0x7f007f", "0xddd0dd", "false", &style_sets[GEANY_FILETYPES_PERL].styling[21]);
|
||||
get_keyfile_hex(config, config_home, "styling", "here_qq", "0x7f007f", "0xddd0dd", "true", &style_sets[GEANY_FILETYPES_PERL].styling[22]);
|
||||
get_keyfile_hex(config, config_home, "styling", "here_qx", "0x7f007f", "0xddd0dd", "true", &style_sets[GEANY_FILETYPES_PERL].styling[23]);
|
||||
get_keyfile_hex(config, config_home, "styling", "string_q", "0x7f007f", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[24]);
|
||||
get_keyfile_hex(config, config_home, "styling", "string_qq", "0xff901e", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[25]);
|
||||
get_keyfile_hex(config, config_home, "styling", "string_qx", "0x000000", "0xe0c0e0", "false", &style_sets[GEANY_FILETYPES_PERL].styling[26]);
|
||||
get_keyfile_hex(config, config_home, "styling", "string_qr", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[27]);
|
||||
get_keyfile_hex(config, config_home, "styling", "string_qw", "0x105090", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[28]);
|
||||
get_keyfile_hex(config, config_home, "styling", "variable_indexer", "0x000000", "0xffffff", "false", &style_sets[GEANY_FILETYPES_PERL].styling[29]);
|
||||
|
||||
style_sets[GEANY_FILETYPES_PERL].keywords = g_new(gchar*, 2);
|
||||
get_keyfile_keywords(config, config_home, "keywords", "primary", GEANY_FILETYPES_PERL, 0, "\
|
||||
@ -1523,9 +1537,22 @@ void styleset_perl(ScintillaObject *sci)
|
||||
set_sci_style(sci, SCE_PL_POD, GEANY_FILETYPES_PERL, 11);
|
||||
set_sci_style(sci, SCE_PL_REGEX, GEANY_FILETYPES_PERL, 12);
|
||||
set_sci_style(sci, SCE_PL_ARRAY, GEANY_FILETYPES_PERL, 13);
|
||||
set_sci_style(sci, SCE_PL_BACKTICKS, GEANY_FILETYPES_PERL, 14);
|
||||
set_sci_style(sci, SCE_PL_HASH, GEANY_FILETYPES_PERL, 15);
|
||||
set_sci_style(sci, SCE_PL_SYMBOLTABLE, GEANY_FILETYPES_PERL, 16);
|
||||
set_sci_style(sci, SCE_PL_HASH, GEANY_FILETYPES_PERL, 14);
|
||||
set_sci_style(sci, SCE_PL_SYMBOLTABLE, GEANY_FILETYPES_PERL, 15);
|
||||
set_sci_style(sci, SCE_PL_BACKTICKS, GEANY_FILETYPES_PERL, 16);
|
||||
set_sci_style(sci, SCE_PL_POD_VERB, GEANY_FILETYPES_PERL, 17);
|
||||
set_sci_style(sci, SCE_PL_REGSUBST, GEANY_FILETYPES_PERL, 18);
|
||||
set_sci_style(sci, SCE_PL_DATASECTION, GEANY_FILETYPES_PERL, 19);
|
||||
set_sci_style(sci, SCE_PL_HERE_DELIM, GEANY_FILETYPES_PERL, 20);
|
||||
set_sci_style(sci, SCE_PL_HERE_Q, GEANY_FILETYPES_PERL, 21);
|
||||
set_sci_style(sci, SCE_PL_HERE_QQ, GEANY_FILETYPES_PERL, 22);
|
||||
set_sci_style(sci, SCE_PL_HERE_QX, GEANY_FILETYPES_PERL, 23);
|
||||
set_sci_style(sci, SCE_PL_STRING_Q, GEANY_FILETYPES_PERL, 24);
|
||||
set_sci_style(sci, SCE_PL_STRING_QQ, GEANY_FILETYPES_PERL, 25);
|
||||
set_sci_style(sci, SCE_PL_STRING_QX, GEANY_FILETYPES_PERL, 26);
|
||||
set_sci_style(sci, SCE_PL_STRING_QR, GEANY_FILETYPES_PERL, 27);
|
||||
set_sci_style(sci, SCE_PL_STRING_QW, GEANY_FILETYPES_PERL, 28);
|
||||
set_sci_style(sci, SCE_PL_VARIABLE_INDEXER, GEANY_FILETYPES_PERL, 29);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* keybindings.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -117,7 +118,7 @@ void keybindings_init(void)
|
||||
keys[GEANY_KEYS_MENU_CLOSE] = fill(cb_func_menu_close,
|
||||
GDK_w, GDK_CONTROL_MASK, "menu_close", _("Close"));
|
||||
keys[GEANY_KEYS_MENU_CLOSEALL] = fill(cb_func_menu_closeall,
|
||||
GDK_d, GDK_MOD1_MASK, "menu_closeall", _("Close all"));
|
||||
GDK_w, GDK_CONTROL_MASK | GDK_SHIFT_MASK, "menu_closeall", _("Close all"));
|
||||
keys[GEANY_KEYS_MENU_RELOADFILE] = fill(cb_func_menu_reloadfile,
|
||||
GDK_r, GDK_CONTROL_MASK, "menu_reloadfile", _("Reload file"));
|
||||
keys[GEANY_KEYS_MENU_UNDO] = fill(cb_func_menu_undo,
|
||||
@ -688,12 +689,16 @@ static void cb_func_switch_editor(G_GNUC_UNUSED guint key_id)
|
||||
static void cb_func_switch_scribble(G_GNUC_UNUSED guint key_id)
|
||||
{
|
||||
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_SCRATCH);
|
||||
msgwin_show_hide(TRUE);
|
||||
gtk_widget_grab_focus(lookup_widget(app->window, "textview_scribble"));
|
||||
}
|
||||
|
||||
static void cb_func_switch_vte(G_GNUC_UNUSED guint key_id)
|
||||
{
|
||||
#ifdef HAVE_VTE
|
||||
msgwin_show_hide(TRUE);
|
||||
/* the msgwin must be visible before we switch to the VTE page so that
|
||||
* the font settings are applied on realization */
|
||||
gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_VTE);
|
||||
gtk_widget_grab_focus(vc->vte);
|
||||
msgwin_show_hide(TRUE);
|
||||
@ -748,7 +753,7 @@ static void goto_matching_brace(gint idx)
|
||||
if (new_pos != -1)
|
||||
{
|
||||
sci_goto_pos(doc_list[idx].sci, new_pos, TRUE); // set the cursor at the brace
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5);
|
||||
doc_list[idx].scroll_percent = 0.5F;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* keyfile.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -581,21 +582,6 @@ void configuration_apply_settings()
|
||||
gtk_paned_set_position(GTK_PANED(lookup_widget(app->window, "vpaned1")), vpan_position);
|
||||
}
|
||||
|
||||
// now the scintilla widget pages may need scrolling in view
|
||||
if (app->pref_main_load_session)
|
||||
{
|
||||
gint idx;
|
||||
guint tabnum = 0;
|
||||
|
||||
while (tabnum < (guint) gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook)))
|
||||
{
|
||||
idx = document_get_n_idx(tabnum);
|
||||
if (idx < 0) break;
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.5F);
|
||||
tabnum++;
|
||||
}
|
||||
}
|
||||
|
||||
// set fullscreen after initial draw so that returning to normal view is the right size.
|
||||
// fullscreen mode is disabled by default, so act only if it is true
|
||||
if (app->fullscreen)
|
||||
|
17
src/main.c
17
src/main.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* main.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -363,8 +364,12 @@ static void setup_paths()
|
||||
doc_dir = g_strdup(PACKAGE_DATA_DIR "/doc/" PACKAGE "/html/");
|
||||
#endif
|
||||
|
||||
app->datadir = data_dir;
|
||||
app->docdir = doc_dir;
|
||||
// convert path names to locale encoding
|
||||
app->datadir = utils_get_locale_from_utf8(data_dir);
|
||||
app->docdir = utils_get_locale_from_utf8(doc_dir);
|
||||
|
||||
g_free(data_dir);
|
||||
g_free(doc_dir);
|
||||
}
|
||||
|
||||
|
||||
@ -442,6 +447,12 @@ static gint setup_config_dir()
|
||||
{
|
||||
gint mkdir_result = 0;
|
||||
|
||||
gchar *tmp = app->configdir;
|
||||
|
||||
// convert configdir to locale encoding to avoid troubles
|
||||
app->configdir = utils_get_locale_from_utf8(app->configdir);
|
||||
g_free(tmp);
|
||||
|
||||
mkdir_result = utils_make_settings_dir(app->configdir, app->datadir, app->docdir);
|
||||
if (mkdir_result != 0)
|
||||
{
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* msgwindow.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -185,8 +186,20 @@ static void prepare_compiler_tree_view(void)
|
||||
|
||||
static const GdkColor color_error = {0, 65535, 0, 0};
|
||||
|
||||
void msgwin_compiler_add_fmt(gint msg_color, const gchar *format, ...)
|
||||
{
|
||||
gchar string[512];
|
||||
va_list args;
|
||||
|
||||
va_start(args, format);
|
||||
g_vsnprintf(string, 512, format, args);
|
||||
va_end(args);
|
||||
msgwin_compiler_add(msg_color, string);
|
||||
}
|
||||
|
||||
|
||||
// adds string to the compiler textview
|
||||
void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
|
||||
void msgwin_compiler_add(gint msg_color, const gchar *msg)
|
||||
{
|
||||
GtkTreeIter iter;
|
||||
GtkTreePath *path;
|
||||
@ -194,12 +207,6 @@ void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
|
||||
const GdkColor dark_red = {0, 65535 / 2, 0, 0};
|
||||
const GdkColor blue = {0, 0, 0, 0xD000}; // not too bright ;-)
|
||||
const GdkColor black = {0, 0, 0, 0};
|
||||
gchar string[512];
|
||||
va_list args;
|
||||
|
||||
va_start(args, format);
|
||||
g_vsnprintf(string, 512, format, args);
|
||||
va_end(args);
|
||||
|
||||
switch (msg_color)
|
||||
{
|
||||
@ -210,7 +217,7 @@ void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
|
||||
}
|
||||
|
||||
gtk_list_store_append(msgwindow.store_compiler, &iter);
|
||||
gtk_list_store_set(msgwindow.store_compiler, &iter, 0, color, 1, string, -1);
|
||||
gtk_list_store_set(msgwindow.store_compiler, &iter, 0, color, 1, msg, -1);
|
||||
|
||||
if (app->msgwindow_visible)
|
||||
{
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* msgwindow.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2005 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -70,8 +71,9 @@ void msgwin_show_hide(gboolean show);
|
||||
|
||||
void msgwin_msg_add(gint line, gint idx, const gchar *string);
|
||||
|
||||
void msgwin_compiler_add(gint msg_color, const gchar *format, ...)
|
||||
G_GNUC_PRINTF (2, 3);
|
||||
void msgwin_compiler_add_fmt(gint msg_color, const gchar *format, ...) G_GNUC_PRINTF (2, 3);
|
||||
|
||||
void msgwin_compiler_add(gint msg_color, const gchar *msg);
|
||||
|
||||
void msgwin_status_add(const gchar *format, ...) G_GNUC_PRINTF (1, 2);
|
||||
|
||||
|
14
src/prefs.c
14
src/prefs.c
@ -671,14 +671,6 @@ void on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_dat
|
||||
}
|
||||
|
||||
|
||||
gboolean on_prefs_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data)
|
||||
{
|
||||
gtk_widget_hide(widget);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
void on_prefs_color_choosed(GtkColorButton *widget, gpointer user_data)
|
||||
{
|
||||
GdkColor color;
|
||||
@ -974,8 +966,10 @@ void dialogs_show_prefs_dialog(void)
|
||||
vte_append_preferences_tab();
|
||||
#endif
|
||||
|
||||
g_signal_connect((gpointer) app->prefs_dialog, "response", G_CALLBACK(on_prefs_button_clicked), NULL);
|
||||
g_signal_connect((gpointer) app->prefs_dialog, "delete_event", G_CALLBACK(on_prefs_delete_event), NULL);
|
||||
g_signal_connect((gpointer) app->prefs_dialog, "response",
|
||||
G_CALLBACK(on_prefs_button_clicked), NULL);
|
||||
g_signal_connect((gpointer) app->prefs_dialog, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "tagbar_font"),
|
||||
"font-set", G_CALLBACK(on_prefs_font_choosed), GINT_TO_POINTER(1));
|
||||
g_signal_connect((gpointer) lookup_widget(app->prefs_dialog, "msgwin_font"),
|
||||
|
@ -27,8 +27,6 @@ void prefs_init_dialog(void);
|
||||
|
||||
void on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_data);
|
||||
|
||||
gboolean on_prefs_delete_event(GtkWidget *widget, GdkEvent *event, gpointer user_data);
|
||||
|
||||
void on_prefs_font_choosed(GtkFontButton *widget, gpointer user_data);
|
||||
|
||||
void on_prefs_color_choosed(GtkColorButton *widget, gpointer user_data);
|
||||
|
82
src/sci_cb.c
82
src/sci_cb.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* sci_cb.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -53,6 +54,7 @@ static gboolean handle_xml(ScintillaObject *sci, gchar ch, gint idx);
|
||||
static void get_indent(ScintillaObject *sci, gint pos, gboolean use_this_line);
|
||||
static void auto_multiline(ScintillaObject *sci, gint pos);
|
||||
static gboolean is_comment(gint lexer, gint style);
|
||||
static void scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view);
|
||||
|
||||
|
||||
// calls the edit popup menu in the editor
|
||||
@ -159,6 +161,15 @@ void on_editor_notification(GtkWidget *editor, gint scn, gpointer lscn, gpointer
|
||||
|
||||
ui_update_statusbar(idx, pos);
|
||||
|
||||
/* Visible lines are only laid out accurately once [SCN_UPDATEUI] is sent,
|
||||
* so we need to only call sci_scroll_to_line here, because the document
|
||||
* may have line wrapping and folding enabled.
|
||||
* http://scintilla.sourceforge.net/ScintillaDoc.html#LineWrapping */
|
||||
if (doc_list[idx].scroll_percent > 0.0F)
|
||||
{
|
||||
scroll_to_line(sci, -1, doc_list[idx].scroll_percent);
|
||||
doc_list[idx].scroll_percent = -1.0F; // disable further scrolling
|
||||
}
|
||||
#if 0
|
||||
/// experimental code for inverting selections
|
||||
{
|
||||
@ -258,7 +269,7 @@ void on_editor_notification(GtkWidget *editor, gint scn, gpointer lscn, gpointer
|
||||
{
|
||||
gint start, pos = SSM(sci, SCI_GETCURRENTPOS, 0, 0);
|
||||
start = pos;
|
||||
while (sci_get_char_at(sci, --start) != '&') ;
|
||||
while (start > 0 && sci_get_char_at(sci, --start) != '&') ;
|
||||
|
||||
SSM(sci, SCI_INSERTTEXT, pos - 1, (sptr_t) nt->text);
|
||||
}
|
||||
@ -368,7 +379,8 @@ static void get_indent(ScintillaObject *sci, gint pos, gboolean use_this_line)
|
||||
|
||||
void sci_cb_auto_close_bracket(ScintillaObject *sci, gint pos, gchar c)
|
||||
{
|
||||
if (SSM(sci, SCI_GETLEXER, 0, 0) != SCLEX_LATEX) return;
|
||||
if (! app->pref_editor_auto_complete_constructs || SSM(sci, SCI_GETLEXER, 0, 0) != SCLEX_LATEX)
|
||||
return;
|
||||
|
||||
if (c == '[')
|
||||
{
|
||||
@ -378,7 +390,7 @@ void sci_cb_auto_close_bracket(ScintillaObject *sci, gint pos, gchar c)
|
||||
{
|
||||
sci_add_text(sci, "}");
|
||||
}
|
||||
sci_set_current_position(sci, pos);
|
||||
sci_set_current_position(sci, pos, TRUE);
|
||||
}
|
||||
|
||||
|
||||
@ -830,7 +842,7 @@ void sci_cb_auto_forif(gint idx, gint pos)
|
||||
sci_get_text_range(sci, pos - 16, pos - 1, buf);
|
||||
// check the first 8 characters of buf for whitespace, but only in this line
|
||||
i = 14;
|
||||
while (isalpha(buf[i])) i--; // find pos before keyword
|
||||
while (i >= 0 && isalpha(buf[i])) i--; // find pos before keyword
|
||||
while (i >= 0 && buf[i] != '\n' && buf[i] != '\r') // we want to stay in this line('\n' check)
|
||||
{
|
||||
if (! isspace(buf[i]))
|
||||
@ -1110,7 +1122,7 @@ void sci_cb_auto_table(ScintillaObject *sci, gint pos)
|
||||
x = strlen(indent);
|
||||
// find the start of the <table tag
|
||||
i = 1;
|
||||
while (sci_get_char_at(sci, pos - i) != '<') i++;
|
||||
while (i <= pos && sci_get_char_at(sci, pos - i) != '<') i++;
|
||||
// add all non whitespace before the tag to the indent string
|
||||
while ((pos - i) != indent_pos)
|
||||
{
|
||||
@ -1234,12 +1246,17 @@ void sci_cb_do_uncomment(gint idx, gint line)
|
||||
|
||||
for (i = first_line; (i <= last_line) && (! break_loop); i++)
|
||||
{
|
||||
gint buf_len;
|
||||
|
||||
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
|
||||
line_len = sci_get_line_length(doc_list[idx].sci, i);
|
||||
x = 0;
|
||||
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 255), (line_start + line_len - 1)), sel);
|
||||
sel[MIN(255, (line_len - 1))] = '\0';
|
||||
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
|
||||
if (buf_len <= 0)
|
||||
continue;
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
|
||||
sel[buf_len] = '\0';
|
||||
|
||||
while (isspace(sel[x])) x++;
|
||||
|
||||
@ -1361,14 +1378,21 @@ void sci_cb_do_comment_toggle(gint idx)
|
||||
co_len = strlen(co);
|
||||
if (co_len == 0) return;
|
||||
|
||||
SSM(doc_list[idx].sci, SCI_BEGINUNDOACTION, 0, 0);
|
||||
|
||||
for (i = first_line; (i <= last_line) && (! break_loop); i++)
|
||||
{
|
||||
gint buf_len;
|
||||
|
||||
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
|
||||
line_len = sci_get_line_length(doc_list[idx].sci, i);
|
||||
x = 0;
|
||||
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 255), (line_start + line_len - 1)), sel);
|
||||
sel[MIN(255, (line_len - 1))] = '\0';
|
||||
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
|
||||
if (buf_len <= 0)
|
||||
continue;
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
|
||||
sel[buf_len] = '\0';
|
||||
|
||||
while (isspace(sel[x])) x++;
|
||||
|
||||
@ -1458,6 +1482,8 @@ void sci_cb_do_comment_toggle(gint idx)
|
||||
}
|
||||
}
|
||||
|
||||
SSM(doc_list[idx].sci, SCI_ENDUNDOACTION, 0, 0);
|
||||
|
||||
// restore selection if there is one
|
||||
if (sel_start < sel_end)
|
||||
{
|
||||
@ -1495,7 +1521,7 @@ void sci_cb_do_comment_toggle(gint idx)
|
||||
else if (count_uncommented > 0)
|
||||
{
|
||||
gint eol_len = (sci_get_eol_mode(doc_list[idx].sci) == SC_EOL_CRLF) ? 2 : 1;
|
||||
sci_set_current_position(doc_list[idx].sci, sel_start - co_len - eol_len);
|
||||
sci_set_current_position(doc_list[idx].sci, sel_start - co_len - eol_len, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1549,12 +1575,17 @@ void sci_cb_do_comment(gint idx, gint line)
|
||||
|
||||
for (i = first_line; (i <= last_line) && (! break_loop); i++)
|
||||
{
|
||||
gint buf_len;
|
||||
|
||||
line_start = sci_get_position_from_line(doc_list[idx].sci, i);
|
||||
line_len = sci_get_line_length(doc_list[idx].sci, i);
|
||||
x = 0;
|
||||
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, MIN((line_start + 256), (line_start + line_len - 1)), sel);
|
||||
sel[MIN(256, (line_len - 1))] = '\0';
|
||||
buf_len = MIN((gint)sizeof(sel) - 1, line_len - 1);
|
||||
if (buf_len <= 0)
|
||||
continue;
|
||||
sci_get_text_range(doc_list[idx].sci, line_start, line_start + buf_len, sel);
|
||||
sel[buf_len] = '\0';
|
||||
|
||||
while (isspace(sel[x])) x++;
|
||||
|
||||
@ -1896,3 +1927,28 @@ gint sci_cb_lexer_get_type_keyword_idx(gint lexer)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Scroll the view to make line appear at percent_of_view.
|
||||
* line can be -1 to use the current position. */
|
||||
static void scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view)
|
||||
{
|
||||
gint vis1, los, delta;
|
||||
GtkWidget *wid = GTK_WIDGET(sci);
|
||||
|
||||
if (! wid->window || ! gdk_window_is_viewable(wid->window))
|
||||
return; // prevent gdk_window_scroll warning
|
||||
|
||||
if (line == -1)
|
||||
line = sci_get_current_line(sci, -1);
|
||||
|
||||
// sci 'visible line' != doc line number because of folding and line wrapping
|
||||
/* calling SCI_VISIBLEFROMDOCLINE for line is more accurate than calling
|
||||
* SCI_DOCLINEFROMVISIBLE for vis1. */
|
||||
line = SSM(sci, SCI_VISIBLEFROMDOCLINE, line, 0);
|
||||
vis1 = SSM(sci, SCI_GETFIRSTVISIBLELINE, 0, 0);
|
||||
los = SSM(sci, SCI_LINESONSCREEN, 0, 0);
|
||||
delta = (line - vis1) - los * percent_of_view;
|
||||
sci_scroll_lines(sci, delta);
|
||||
//sci_scroll_caret(sci); // ensure visible (maybe not needed now)
|
||||
}
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* sciwrappers.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -379,9 +380,15 @@ gint sci_get_current_position(ScintillaObject* sci )
|
||||
}
|
||||
|
||||
|
||||
void sci_set_current_position(ScintillaObject* sci, gint position )
|
||||
void sci_set_current_position(ScintillaObject* sci, gint position, gboolean scroll_to_caret)
|
||||
{
|
||||
if (scroll_to_caret)
|
||||
SSM(sci, SCI_GOTOPOS, position, 0);
|
||||
else
|
||||
{
|
||||
SSM(sci, SCI_SETCURRENTPOS, position, 0);
|
||||
SSM(sci, SCI_SETANCHOR, position, 0); // to avoid creation of a selection
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -672,26 +679,6 @@ void sci_scroll_lines(ScintillaObject *sci, gint lines)
|
||||
}
|
||||
|
||||
|
||||
/* Scroll the view to make line appear at percent_of_view.
|
||||
* line can be -1 to use the current position. */
|
||||
void sci_scroll_to_line(ScintillaObject *sci, gint line, gfloat percent_of_view)
|
||||
{
|
||||
gint vis1, los, delta;
|
||||
|
||||
if (GTK_WIDGET(sci)->allocation.height <= 1) return; // prevent gdk_window_scroll warning
|
||||
if (line == -1)
|
||||
line = sci_get_current_line(sci, -1);
|
||||
|
||||
// sci 'visible line' != file line number
|
||||
vis1 = SSM(sci, SCI_GETFIRSTVISIBLELINE, 0, 0);
|
||||
vis1 = SSM(sci, SCI_DOCLINEFROMVISIBLE, vis1, 0);
|
||||
los = SSM(sci, SCI_LINESONSCREEN, 0, 0);
|
||||
delta = (line - vis1) - los * percent_of_view;
|
||||
sci_scroll_lines(sci, delta);
|
||||
sci_scroll_caret(sci); //ensure visible, in case of excessive folding/wrapping
|
||||
}
|
||||
|
||||
|
||||
gint sci_search_next(ScintillaObject *sci, gint flags, const gchar *text)
|
||||
{
|
||||
return SSM(sci, SCI_SEARCHNEXT, flags, (sptr_t) text );
|
||||
@ -754,6 +741,7 @@ void sci_clear_cmdkey(ScintillaObject *sci, gint key)
|
||||
}
|
||||
|
||||
|
||||
/* text will be zero terminated and must be allocated (end - start + 1) bytes */
|
||||
void sci_get_text_range(ScintillaObject *sci, gint start, gint end, gchar *text)
|
||||
{
|
||||
struct TextRange tr;
|
||||
|
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* sciwrappers.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -68,7 +69,7 @@ gint sci_get_col_from_position (ScintillaObject* sci, gint position);
|
||||
gint sci_get_line_from_position (ScintillaObject* sci, gint position);
|
||||
gint sci_get_position_from_line (ScintillaObject* sci, gint line );
|
||||
gint sci_get_current_position (ScintillaObject* sci);
|
||||
void sci_set_current_position (ScintillaObject* sci, gint position);
|
||||
void sci_set_current_position (ScintillaObject* sci, gint position, gboolean scroll_to_caret);
|
||||
void sci_set_current_line (ScintillaObject* sci, gint line);
|
||||
|
||||
void sci_cut (ScintillaObject* sci);
|
||||
@ -124,7 +125,6 @@ void sci_set_search_anchor (ScintillaObject * sci);
|
||||
void sci_set_anchor (ScintillaObject * sci, gint pos);
|
||||
void sci_scroll_caret (ScintillaObject * sci);
|
||||
void sci_scroll_lines (ScintillaObject * sci, gint lines);
|
||||
void sci_scroll_to_line (ScintillaObject * sci, gint line, gfloat percent_of_view);
|
||||
gint sci_search_next (ScintillaObject * sci, gint flags, const gchar *text);
|
||||
gint sci_search_prev (ScintillaObject * sci, gint flags, const gchar *text);
|
||||
gint sci_find_text (ScintillaObject * sci, gint flags, struct TextToFind *ttf);
|
||||
|
@ -286,7 +286,7 @@ void search_show_find_dialog()
|
||||
g_signal_connect((gpointer) widgets.find_dialog, "response",
|
||||
G_CALLBACK(on_find_dialog_response), entry);
|
||||
g_signal_connect((gpointer) widgets.find_dialog, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide), NULL);
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
|
||||
sbox = gtk_hbox_new(FALSE, 6);
|
||||
gtk_box_pack_start(GTK_BOX(sbox), label, FALSE, FALSE, 0);
|
||||
@ -416,7 +416,7 @@ void search_show_replace_dialog()
|
||||
g_signal_connect((gpointer) widgets.replace_dialog, "response",
|
||||
G_CALLBACK(on_replace_dialog_response), entry_replace);
|
||||
g_signal_connect((gpointer) widgets.replace_dialog, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide), NULL);
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
|
||||
fbox = gtk_hbox_new(FALSE, 6);
|
||||
gtk_box_pack_start(GTK_BOX(fbox), label_find, FALSE, FALSE, 0);
|
||||
@ -620,7 +620,7 @@ void search_show_find_in_files_dialog()
|
||||
g_signal_connect((gpointer) widgets.find_in_files_dialog, "response",
|
||||
G_CALLBACK(on_find_in_files_dialog_response), combo);
|
||||
g_signal_connect((gpointer) widgets.find_in_files_dialog, "delete_event",
|
||||
G_CALLBACK(gtk_widget_hide), NULL);
|
||||
G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
||||
|
||||
gtk_widget_show_all(widgets.find_in_files_dialog);
|
||||
sel = get_default_text(idx);
|
||||
|
81
src/socket.c
81
src/socket.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* socket.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -36,12 +37,14 @@
|
||||
# include <winsock2.h>
|
||||
# include <ws2tcpip.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include "main.h"
|
||||
#include "socket.h"
|
||||
#include "document.h"
|
||||
#include "support.h"
|
||||
|
||||
|
||||
|
||||
@ -75,6 +78,46 @@ static gint socket_fd_close (gint sock);
|
||||
|
||||
|
||||
|
||||
void send_open_command(gint sock, gint argc, gchar **argv)
|
||||
{
|
||||
gint i;
|
||||
gchar *filename;
|
||||
|
||||
g_return_if_fail(argc > 1);
|
||||
geany_debug("using running instance of Geany");
|
||||
|
||||
if (cl_options.goto_line >= 0)
|
||||
{
|
||||
gchar *line = g_strdup_printf("%d\n", cl_options.goto_line);
|
||||
socket_fd_write_all(sock, "line\n", 5);
|
||||
socket_fd_write_all(sock, line, strlen(line));
|
||||
socket_fd_write_all(sock, ".\n", 2);
|
||||
g_free(line);
|
||||
}
|
||||
|
||||
socket_fd_write_all(sock, "open\n", 5);
|
||||
|
||||
for(i = 1; i < argc && argv[i] != NULL; i++)
|
||||
{
|
||||
filename = get_argv_filename(argv[i]);
|
||||
|
||||
if (filename != NULL &&
|
||||
g_file_test(filename, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK))
|
||||
{
|
||||
socket_fd_write_all(sock, filename, strlen(filename));
|
||||
socket_fd_write_all(sock, "\n", 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_printerr(_("Could not find file '%s'."), filename);
|
||||
g_printerr("\n"); // keep translation from open_cl_files() in main.c.
|
||||
}
|
||||
g_free(filename);
|
||||
}
|
||||
socket_fd_write_all(sock, ".\n", 2);
|
||||
}
|
||||
|
||||
|
||||
/* (Unix domain) socket support to replace the old FIFO code
|
||||
* (taken from Sylpheed, thanks) */
|
||||
gint socket_init(gint argc, gchar **argv)
|
||||
@ -118,25 +161,7 @@ gint socket_init(gint argc, gchar **argv)
|
||||
// remote command mode, here we have another running instance and want to use it
|
||||
if (argc > 1)
|
||||
{
|
||||
gint i;
|
||||
gchar *filename;
|
||||
|
||||
geany_debug("using running instance of Geany");
|
||||
|
||||
socket_fd_write_all(sock, "open\n", 5);
|
||||
|
||||
for(i = 1; i < argc && argv[i] != NULL; i++)
|
||||
{
|
||||
filename = get_argv_filename(argv[i]);
|
||||
|
||||
if (filename != NULL)
|
||||
{
|
||||
socket_fd_write_all(sock, filename, strlen(filename));
|
||||
socket_fd_write_all(sock, "\n", 1);
|
||||
g_free(filename);
|
||||
}
|
||||
}
|
||||
socket_fd_write_all(sock, ".\n", 2);
|
||||
send_open_command(sock, argc, argv);
|
||||
}
|
||||
|
||||
socket_fd_close(sock);
|
||||
@ -349,9 +374,10 @@ gboolean socket_lock_input_cb(GIOChannel *source, GIOCondition condition, gpoint
|
||||
sock = accept(fd, (struct sockaddr *)&caddr, &caddr_len);
|
||||
|
||||
// first get the command
|
||||
if (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && strncmp(buf, "open", 4) == 0)
|
||||
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1)
|
||||
{
|
||||
if (strncmp(buf, "open", 4) == 0)
|
||||
{
|
||||
geany_debug("remote command: open");
|
||||
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && *buf != '.')
|
||||
{
|
||||
g_strstrip(buf); // remove \n char
|
||||
@ -366,7 +392,16 @@ gboolean socket_lock_input_cb(GIOChannel *source, GIOCondition condition, gpoint
|
||||
gtk_window_present(GTK_WINDOW(app->window));
|
||||
#endif
|
||||
}
|
||||
|
||||
else if (strncmp(buf, "line", 4) == 0)
|
||||
{
|
||||
while (socket_fd_gets(sock, buf, sizeof(buf)) != -1 && *buf != '.')
|
||||
{
|
||||
g_strstrip(buf); // remove \n char
|
||||
// on any error we get 0 which should be save enough as fallback
|
||||
cl_options.goto_line = atoi(buf);
|
||||
}
|
||||
}
|
||||
}
|
||||
socket_fd_close(sock);
|
||||
|
||||
return TRUE;
|
||||
|
@ -37,6 +37,15 @@ const guint TM_GLOBAL_TYPE_MASK =
|
||||
tm_tag_struct_t | tm_tag_typedef_t | tm_tag_union_t;
|
||||
|
||||
|
||||
static gchar **html_entities = NULL;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gboolean tags_loaded;
|
||||
const gchar *tag_file;
|
||||
} TagFileInfo;
|
||||
|
||||
enum // Geany tag files
|
||||
{
|
||||
GTF_C,
|
||||
@ -47,14 +56,6 @@ enum // Geany tag files
|
||||
GTF_MAX
|
||||
};
|
||||
|
||||
static gchar **html_entities = NULL;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gboolean tags_loaded;
|
||||
const gchar *tag_file;
|
||||
} TagFileInfo;
|
||||
|
||||
static TagFileInfo tag_file_info[GTF_MAX] =
|
||||
{
|
||||
{FALSE, "global.tags"},
|
||||
@ -72,7 +73,7 @@ static void html_tags_loaded();
|
||||
void symbols_global_tags_loaded(gint file_type_idx)
|
||||
{
|
||||
TagFileInfo *tfi;
|
||||
gint gtf, lt;
|
||||
gint tag_type;
|
||||
|
||||
if (app->ignore_global_tags) return;
|
||||
|
||||
@ -81,27 +82,32 @@ void symbols_global_tags_loaded(gint file_type_idx)
|
||||
case GEANY_FILETYPES_HTML:
|
||||
html_tags_loaded();
|
||||
return;
|
||||
case GEANY_FILETYPES_C: gtf = GTF_C; break;
|
||||
case GEANY_FILETYPES_CPP: gtf = GTF_C; break;
|
||||
case GEANY_FILETYPES_PASCAL:gtf = GTF_PASCAL; break;
|
||||
case GEANY_FILETYPES_PHP: gtf = GTF_PHP; break;
|
||||
case GEANY_FILETYPES_LATEX: gtf = GTF_LATEX; break;
|
||||
case GEANY_FILETYPES_CPP:
|
||||
symbols_global_tags_loaded(GEANY_FILETYPES_C); // load C global tags
|
||||
return; // no C++ tagfile yet
|
||||
case GEANY_FILETYPES_C: tag_type = GTF_C; break;
|
||||
case GEANY_FILETYPES_PASCAL:tag_type = GTF_PASCAL; break;
|
||||
case GEANY_FILETYPES_PHP: tag_type = GTF_PHP; break;
|
||||
case GEANY_FILETYPES_LATEX: tag_type = GTF_LATEX; break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
lt = filetypes[file_type_idx]->lang;
|
||||
tfi = &tag_file_info[gtf];
|
||||
tfi = &tag_file_info[tag_type];
|
||||
|
||||
if (! tfi->tags_loaded)
|
||||
{
|
||||
gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
|
||||
tm_workspace_load_global_tags(file, lt);
|
||||
gchar *fname = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
|
||||
gint tm_lang;
|
||||
|
||||
tm_lang = filetypes[file_type_idx]->lang;
|
||||
tm_workspace_load_global_tags(fname, tm_lang);
|
||||
tfi->tags_loaded = TRUE;
|
||||
g_free(file);
|
||||
g_free(fname);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// HTML tagfile is just a list of entities for autocompletion (e.g. '&')
|
||||
static void html_tags_loaded()
|
||||
{
|
||||
TagFileInfo *tfi;
|
||||
@ -112,6 +118,7 @@ static void html_tags_loaded()
|
||||
if (! tfi->tags_loaded)
|
||||
{
|
||||
gchar *file = g_strconcat(app->datadir, G_DIR_SEPARATOR_S, tfi->tag_file, NULL);
|
||||
|
||||
html_entities = utils_read_file_in_array(file);
|
||||
tfi->tags_loaded = TRUE;
|
||||
g_free(file);
|
||||
|
@ -599,8 +599,11 @@ static gboolean on_treeviews_button_press_event(GtkWidget *widget, GdkEventButto
|
||||
gtk_menu_popup(GTK_MENU(tv.popup_openfiles), NULL, NULL, NULL, NULL,
|
||||
event->button, event->time);
|
||||
else if (GPOINTER_TO_INT(user_data) == TREEVIEW_SYMBOL)
|
||||
{
|
||||
gtk_menu_popup(GTK_MENU(tv.popup_taglist), NULL, NULL, NULL, NULL,
|
||||
event->button, event->time);
|
||||
return TRUE; // prevent selection changed signal for symbol tags
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/*
|
||||
* ui_utils.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
* Copyright 2006-2007 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -120,7 +120,7 @@ void ui_update_statusbar(gint idx, gint pos)
|
||||
(doc_list[idx].readonly) ? ", read only" : "",
|
||||
cur_tag,
|
||||
(doc_list[idx].encoding) ? doc_list[idx].encoding : _("unknown"),
|
||||
(utils_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "",
|
||||
(encodings_is_unicode_charset(doc_list[idx].encoding)) ? ((doc_list[idx].has_bom) ? _("(with BOM)") : _("(without BOM)")) : "",
|
||||
(doc_list[idx].file_type) ? doc_list[idx].file_type->title : _("unknown"));
|
||||
set_statusbar(text, TRUE); // can be overridden by status messages
|
||||
g_free(text);
|
||||
@ -706,7 +706,7 @@ void ui_document_show_hide(gint idx)
|
||||
TRUE);
|
||||
|
||||
gtk_widget_set_sensitive(lookup_widget(app->window, "menu_write_unicode_bom1"),
|
||||
utils_is_unicode_charset(doc_list[idx].encoding));
|
||||
encodings_is_unicode_charset(doc_list[idx].encoding));
|
||||
|
||||
encodings_select_radio_item(doc_list[idx].encoding);
|
||||
filetypes_select_radio_item(doc_list[idx].file_type);
|
||||
@ -1179,15 +1179,12 @@ void ui_combo_box_add_to_history(GtkComboBox *combo, const gchar *text)
|
||||
void ui_update_tab_status(gint idx)
|
||||
{
|
||||
GdkColor *color = document_get_status(idx);
|
||||
static GtkStyle *style = NULL;
|
||||
|
||||
if (style == NULL) // use and store default foreground colour
|
||||
style = gtk_rc_get_style(doc_list[idx].tab_label);
|
||||
|
||||
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_NORMAL,
|
||||
color ? color : &(style->fg[GTK_STATE_NORMAL]));
|
||||
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_ACTIVE,
|
||||
color ? color : &(style->fg[GTK_STATE_ACTIVE]));
|
||||
// NULL color will reset to default
|
||||
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_NORMAL, color);
|
||||
gtk_widget_modify_fg(doc_list[idx].tab_label, GTK_STATE_ACTIVE, color);
|
||||
gtk_widget_modify_fg(doc_list[idx].tabmenu_label, GTK_STATE_NORMAL, color);
|
||||
gtk_widget_modify_fg(doc_list[idx].tabmenu_label, GTK_STATE_ACTIVE, color);
|
||||
|
||||
treeviews_openfiles_update(idx);
|
||||
}
|
||||
@ -1221,6 +1218,15 @@ gboolean ui_tree_view_find_next(GtkTreeView *treeview, TVMatchCallback cb)
|
||||
if (! gtk_tree_model_iter_next(model, &iter))
|
||||
return FALSE; // no more items
|
||||
}
|
||||
// scroll item in view
|
||||
if (app->msgwindow_visible)
|
||||
{
|
||||
GtkTreePath *path = gtk_tree_model_get_path(
|
||||
gtk_tree_view_get_model(treeview), &iter);
|
||||
|
||||
gtk_tree_view_scroll_to_cell(treeview, path, NULL, TRUE, 0.5, 0.5);
|
||||
gtk_tree_path_free(path);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
71
src/utils.c
71
src/utils.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* utils.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -234,7 +235,7 @@ gboolean utils_goto_line(gint idx, gint line)
|
||||
sci_set_marker_at_line(doc_list[idx].sci, line, TRUE, 0);
|
||||
|
||||
sci_goto_line(doc_list[idx].sci, line, TRUE);
|
||||
sci_scroll_to_line(doc_list[idx].sci, -1, 0.25);
|
||||
doc_list[idx].scroll_percent = 0.25F;
|
||||
|
||||
// finally switch to the page
|
||||
page_num = gtk_notebook_page_num(GTK_NOTEBOOK(app->notebook), GTK_WIDGET(doc_list[idx].sci));
|
||||
@ -459,7 +460,7 @@ static gchar *parse_cpp_function_at_line(ScintillaObject *sci, gint tag_line)
|
||||
if (end < 0) end = 0;
|
||||
|
||||
// skip whitespaces between identifier and (
|
||||
while (isspace(sci_get_char_at(sci, end))) end--;
|
||||
while (end > 0 && isspace(sci_get_char_at(sci, end))) end--;
|
||||
|
||||
start = end;
|
||||
c = 0;
|
||||
@ -1370,50 +1371,6 @@ gboolean utils_str_replace_escape(gchar *string)
|
||||
}
|
||||
|
||||
|
||||
gchar *utils_scan_unicode_bom(const gchar *string)
|
||||
{
|
||||
if ((unsigned char)string[0] == 0xef && (unsigned char)string[1] == 0xbb &&
|
||||
(unsigned char)string[2] == 0xbf)
|
||||
{
|
||||
return g_strdup("UTF-8");
|
||||
}
|
||||
else if ((unsigned char)string[0] == 0x00 && (unsigned char)string[1] == 0x00 &&
|
||||
(unsigned char)string[2] == 0xfe && (unsigned char)string[3] == 0xff)
|
||||
{
|
||||
return g_strdup("UTF-32BE"); // Big endian
|
||||
}
|
||||
else if ((unsigned char)string[0] == 0xff && (unsigned char)string[1] == 0xfe &&
|
||||
(unsigned char)string[2] == 0x00 && (unsigned char)string[3] == 0x00)
|
||||
{
|
||||
return g_strdup("UTF-32LE"); // Little endian
|
||||
}
|
||||
else if ((unsigned char)string[0]==0xfe && (unsigned char)string[1] == 0xff)
|
||||
{
|
||||
return g_strdup("UTF-16BE"); // Big endian
|
||||
}
|
||||
else if ((unsigned char)string[0] == 0xff && (unsigned char)string[1] == 0xfe)
|
||||
{
|
||||
return g_strdup("UTF-16LE"); // Little endian
|
||||
}
|
||||
else if ((string[0] == 0x2b && string[1] == 0x2f && string[2] == 0x76) &&
|
||||
(string[3] == 0x38 || string[3] == 0x39 || string[3] == 0x2b || string[3] == 0x2f))
|
||||
{
|
||||
return g_strdup("UTF-7");
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
gboolean utils_is_unicode_charset(const gchar *string)
|
||||
{
|
||||
if (string != NULL && (strncmp(string, "UTF", 3) == 0 || strncmp(string, "UCS", 3) == 0))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/* Wraps a string in place, replacing a space with a newline character.
|
||||
* wrapstart is the minimum position to start wrapping or -1 for default */
|
||||
gboolean utils_wrap_string(gchar *string, gint wrapstart)
|
||||
@ -1452,3 +1409,23 @@ gchar *utils_get_utf8_from_locale(const gchar *locale_text)
|
||||
}
|
||||
|
||||
|
||||
/* frees all passed pointers if they are non-NULL, the first argument is nothing special,
|
||||
* it will also be freed, the list should be ended with NULL */
|
||||
void utils_free_pointers(gpointer first, ...)
|
||||
{
|
||||
va_list a;
|
||||
gpointer sa;
|
||||
|
||||
for (va_start(a, first); (sa = va_arg(a, gpointer), sa!=NULL);)
|
||||
{
|
||||
if (sa != NULL)
|
||||
g_free(sa);
|
||||
}
|
||||
va_end(a);
|
||||
|
||||
if (first != NULL)
|
||||
g_free(first);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
11
src/utils.h
11
src/utils.h
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* utils.h - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -135,10 +136,6 @@ gchar **utils_read_file_in_array(const gchar *filename);
|
||||
* Replaces \\, \r, \n, \t and \uXXX by their real counterparts */
|
||||
gboolean utils_str_replace_escape(gchar *string);
|
||||
|
||||
gchar *utils_scan_unicode_bom(const gchar *string);
|
||||
|
||||
gboolean utils_is_unicode_charset(const gchar *string);
|
||||
|
||||
/* Wraps a string in place, replacing a space with a newline character.
|
||||
* wrapstart is the minimum position to start wrapping or -1 for default */
|
||||
gboolean utils_wrap_string(gchar *string, gint wrapstart);
|
||||
@ -149,4 +146,8 @@ gchar *utils_get_locale_from_utf8(const gchar *utf8_text);
|
||||
/* Simple wrapper for g_locale_to_utf8; returns a copy of locale_text on failure. */
|
||||
gchar *utils_get_utf8_from_locale(const gchar *locale_text);
|
||||
|
||||
/* frees all passed pointers if they are non-NULL, the first argument is nothing special,
|
||||
* it will also be freed, the list should be ended with NULL */
|
||||
void utils_free_pointers(gpointer first, ...);
|
||||
|
||||
#endif
|
||||
|
22
src/vte.c
22
src/vte.c
@ -1,7 +1,8 @@
|
||||
/*
|
||||
* vte.c - this file is part of Geany, a fast and lightweight IDE
|
||||
*
|
||||
* Copyright 2006 Enrico Troeger <enrico.troeger@uvena.de>
|
||||
* Copyright 2005-2007 Enrico Tröger <enrico.troeger@uvena.de>
|
||||
* Copyright 2006-2007 Nick Treleaven <nick.treleaven@btinternet.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@ -133,11 +134,14 @@ void vte_init(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
module = g_module_open("libvte.so", G_MODULE_BIND_LAZY);
|
||||
// try to fallback to different versions of libvte.so.x
|
||||
if (module == NULL) module = g_module_open("libvte.so.4", G_MODULE_BIND_LAZY);
|
||||
else if (module == NULL) module = g_module_open("libvte.so.8", G_MODULE_BIND_LAZY);
|
||||
else if (module == NULL) module = g_module_open("libvte.so.9", G_MODULE_BIND_LAZY);
|
||||
gint i;
|
||||
const gchar *sonames[] = { "libvte.so", "libvte.so.4",
|
||||
"libvte.so.8", "libvte.so.9", NULL };
|
||||
|
||||
for (i = 0; sonames[i] != NULL && module == NULL; i++ )
|
||||
{
|
||||
module = g_module_open(sonames[i], G_MODULE_BIND_LAZY);
|
||||
}
|
||||
}
|
||||
|
||||
if (module == NULL)
|
||||
@ -435,14 +439,16 @@ void vte_cwd(const gchar *filename, gboolean force)
|
||||
if (vte_info.have_vte && (vc->follow_path || force) && filename != NULL)
|
||||
{
|
||||
gchar *path;
|
||||
gchar *cmd;
|
||||
|
||||
path = g_path_get_dirname(filename);
|
||||
vte_get_working_directory(); // refresh vte_info.dir
|
||||
if (! utils_str_equal(path, vte_info.dir))
|
||||
{
|
||||
cmd = g_strconcat("cd ", path, "\n", NULL);
|
||||
// use g_shell_quote to avoid problems with spaces, '!' or something else in path
|
||||
gchar *quoted_path = g_shell_quote(path);
|
||||
gchar *cmd = g_strconcat("cd ", quoted_path, "\n", NULL);
|
||||
vte_send_cmd(cmd);
|
||||
g_free(quoted_path);
|
||||
g_free(cmd);
|
||||
}
|
||||
g_free(path);
|
||||
|
@ -2222,7 +2222,10 @@ static boolean isStatementEnd (const statementInfo *const st)
|
||||
if (isType (token, TOKEN_SEMICOLON))
|
||||
isEnd = TRUE;
|
||||
else if (isType (token, TOKEN_BRACE_CLOSE))
|
||||
isEnd = (boolean) (isLanguage (Lang_java) ||
|
||||
/* Java, D, C# do not require semicolons to end a block. Neither do C++
|
||||
* namespaces. All other blocks require a semicolon to terminate them.
|
||||
*/
|
||||
isEnd = (boolean) (isLanguage (Lang_java) || isLanguage (Lang_d) ||
|
||||
! isContextualStatement (st));
|
||||
else
|
||||
isEnd = FALSE;
|
||||
|
@ -281,7 +281,8 @@ gboolean tm_tags_custom_dedup(GPtrArray *tags_array, TMTagCompareFunc compare_fu
|
||||
\param name Name of the tag to locate.
|
||||
\param partial If TRUE, matches the first part of the name instead of doing exact match.
|
||||
*/
|
||||
TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean partial, int * tagCount);
|
||||
TMTag **tm_tags_find(const GPtrArray *sorted_tags_array, const char *name,
|
||||
gboolean partial, int * tagCount);
|
||||
|
||||
/*!
|
||||
Completely frees an array of tags.
|
||||
|
@ -54,17 +54,21 @@ static kindOption TeXKinds[] = {
|
||||
* FUNCTION DEFINITIONS
|
||||
*/
|
||||
|
||||
static int getWord(const char * ref, const char **pointer)
|
||||
static int getWord(const char * ref, const char **ptr)
|
||||
{
|
||||
const char * p = *pointer;
|
||||
const char *p = *ptr;
|
||||
|
||||
while ((*ref != '\0') && (*p != '\0') && (*ref == *p))
|
||||
ref++, p++;
|
||||
|
||||
|
||||
if (*ref)
|
||||
return FALSE;
|
||||
|
||||
*pointer = p;
|
||||
if (*p == '*') // to allow something like \section*{foobar}
|
||||
p++;
|
||||
|
||||
*ptr = p;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -92,6 +96,7 @@ static void createTag(int flags, TeXKind kind, const char * l)
|
||||
++l;
|
||||
} while ((*l != '\0') && (*l != '}'));
|
||||
vStringTerminate(name);
|
||||
if (name->buffer[0] != '}')
|
||||
makeSimpleTag(name, TeXKinds, kind);
|
||||
}
|
||||
else if (isalpha((int) *l) || *l == '@')
|
||||
|
@ -562,7 +562,8 @@ void tm_tags_array_free(GPtrArray *tags_array, gboolean free_all)
|
||||
}
|
||||
}
|
||||
|
||||
TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean partial, int * tagCount)
|
||||
TMTag **tm_tags_find(const GPtrArray *sorted_tags_array, const char *name,
|
||||
gboolean partial, int * tagCount)
|
||||
{
|
||||
static TMTag *tag = NULL;
|
||||
TMTag **result;
|
||||
@ -578,15 +579,30 @@ TMTag **tm_tags_find(GPtrArray *sorted_tags_array, const char *name, gboolean pa
|
||||
s_partial = partial;
|
||||
result = (TMTag **) bsearch(&tag, sorted_tags_array->pdata, sorted_tags_array->len
|
||||
, sizeof(gpointer), tm_tag_compare);
|
||||
// there can be matches on both sides of result
|
||||
if (result)
|
||||
{
|
||||
for (; result >= (TMTag **) sorted_tags_array->pdata; -- result) {
|
||||
TMTag **last = (TMTag **) &sorted_tags_array->pdata[sorted_tags_array->len - 1];
|
||||
TMTag **adv;
|
||||
|
||||
// First look for any matches after result
|
||||
adv = result;
|
||||
adv++;
|
||||
for (; *adv && adv <= last; ++ adv)
|
||||
{
|
||||
if (0 != tm_tag_compare(&tag, adv))
|
||||
break;
|
||||
++tagMatches;
|
||||
}
|
||||
// Now look for matches from result and below
|
||||
for (; result >= (TMTag **) sorted_tags_array->pdata; -- result)
|
||||
{
|
||||
if (0 != tm_tag_compare(&tag, (TMTag **) result))
|
||||
break;
|
||||
++tagMatches;
|
||||
}
|
||||
*tagCount=tagMatches;
|
||||
++ result;
|
||||
++ result; // correct address for the last successful match
|
||||
}
|
||||
s_partial = FALSE;
|
||||
return (TMTag **) result;
|
||||
|
Loading…
x
Reference in New Issue
Block a user