Add new command line optio -p : Scroll to indicated position on given filePath
Closes #1777, closes #1776
This commit is contained in:
parent
d26f910ece
commit
9708382bfe
@ -4998,6 +4998,7 @@ void Notepad_plus::loadCommandlineParams(const TCHAR * commandLine, CmdLineParam
|
||||
LangType lt = pCmdParams->_langType;
|
||||
int ln = pCmdParams->_line2go;
|
||||
int cn = pCmdParams->_column2go;
|
||||
int cpos = pCmdParams->_pos2go;
|
||||
bool recursive = pCmdParams->_isRecursive;
|
||||
bool readOnly = pCmdParams->_isReadOnly;
|
||||
|
||||
@ -5019,11 +5020,16 @@ void Notepad_plus::loadCommandlineParams(const TCHAR * commandLine, CmdLineParam
|
||||
pBuf->setLangType(lt);
|
||||
}
|
||||
|
||||
if (ln != -1)
|
||||
if (ln != -1 || cpos != -1)
|
||||
{ //we have to move the cursor manually
|
||||
int iView = currentView(); //store view since fileswitch can cause it to change
|
||||
switchToFile(bufID); //switch to the file. No deferred loading, but this way we can easily move the cursor to the right position
|
||||
|
||||
if (cpos != -1)
|
||||
{
|
||||
_pEditView->execute(SCI_GOTOPOS, cpos);
|
||||
}
|
||||
else
|
||||
if (cn == -1)
|
||||
{
|
||||
_pEditView->execute(SCI_GOTOLINE, ln-1);
|
||||
|
@ -31,7 +31,7 @@
|
||||
|
||||
const TCHAR COMMAND_ARG_HELP[] = TEXT("Usage :\r\
|
||||
\r\
|
||||
notepad++ [--help] [-multiInst] [-noPlugin] [-lLanguage] [-LlangCode] [-nLineNumber] [-cColumnNumber] [-xLeftPos] [-yTopPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [-alwaysOnTop] [-openSession] [-r] [-qnEsterEggName | -qtText | -qfCntentFileName] [filePath]\r\
|
||||
notepad++ [--help] [-multiInst] [-noPlugin] [-lLanguage] [-LlangCode] [-nLineNumber] [-cColumnNumber] [-pPosition] [-xLeftPos] [-yTopPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [-alwaysOnTop] [-openSession] [-r] [-qnEsterEggName | -qtText | -qfCntentFileName] [filePath]\r\
|
||||
\r\
|
||||
--help : This help message\r\
|
||||
-multiInst : Launch another Notepad++ instance\r\
|
||||
@ -40,6 +40,7 @@ notepad++ [--help] [-multiInst] [-noPlugin] [-lLanguage] [-LlangCode] [-nLineNum
|
||||
-L : Apply indicated localization, langCode is browser language code\r\
|
||||
-n : Scroll to indicated line on filePath\r\
|
||||
-c : Scroll to indicated column on filePath\r\
|
||||
-p : Scroll to indicated position on filePath\r\
|
||||
-x : Move Notepad++ to indicated left side position on the screen\r\
|
||||
-y : Move Notepad++ to indicated top position on the screen\r\
|
||||
-nosession : Launch Notepad++ without previous session\r\
|
||||
|
@ -212,6 +212,7 @@ struct CmdLineParams
|
||||
bool _alwaysOnTop = false;
|
||||
int _line2go = -1;
|
||||
int _column2go = -1;
|
||||
int _pos2go = -1;
|
||||
|
||||
POINT _point;
|
||||
bool _isPointXValid = false;
|
||||
|
@ -298,6 +298,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
|
||||
cmdLineParams._localizationPath = getLocalizationPathFromParam(params);
|
||||
cmdLineParams._line2go = getNumberFromParam('n', params, isParamePresent);
|
||||
cmdLineParams._column2go = getNumberFromParam('c', params, isParamePresent);
|
||||
cmdLineParams._pos2go = getNumberFromParam('p', params, isParamePresent);
|
||||
cmdLineParams._point.x = getNumberFromParam('x', params, cmdLineParams._isPointXValid);
|
||||
cmdLineParams._point.y = getNumberFromParam('y', params, cmdLineParams._isPointYValid);
|
||||
cmdLineParams._easterEggName = getEasterEggNameFromParam(params, cmdLineParams._quoteType);
|
||||
|
Loading…
Reference in New Issue
Block a user