⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bufferlistset.java

📁 开源的java 编辑器源代码
💻 JAVA
字号:
/* * BufferListSet.java - Buffer list matcher * :tabSize=8:indentSize=8:noTabs=false: * :folding=explicit:collapseFolds=1: * * Copyright (C) 1999, 2004 Slava Pestov * * 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 the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */package org.gjt.sp.jedit.search;//{{{ Importsimport java.awt.Component;import org.gjt.sp.jedit.*;import org.gjt.sp.jedit.io.*;//}}}/** * A file set for searching a user-specified list of buffers. * @author Slava Pestov * @version $Id: BufferListSet.java,v 1.6 2004/02/22 20:00:54 spestov Exp $ */public abstract class BufferListSet implements SearchFileSet{	//{{{ getFirstFile() method	public synchronized String getFirstFile(View view)	{		if(files == null)			files = _getFiles(view);		if(files == null || files.length == 0)			return null;		else			return files[0];	} //}}}	//{{{ getNextFile() method	public synchronized String getNextFile(View view, String file)	{		if(files == null)			files = _getFiles(view);		if(files == null || files.length == 0)			return null;		if(file == null)		{			file = view.getBuffer().getSymlinkPath();			VFS vfs = VFSManager.getVFSForPath(file);			boolean ignoreCase = ((vfs.getCapabilities()				& VFS.CASE_INSENSITIVE_CAP) != 0);			for(int i = 0; i < files.length; i++)			{				if(MiscUtilities.compareStrings(					files[i],file,ignoreCase) == 0)				{					return file;				}			}			return getFirstFile(view);		}		else		{			// -1 so that the last isn't checked			VFS vfs = VFSManager.getVFSForPath(file);			boolean ignoreCase = ((vfs.getCapabilities()				& VFS.CASE_INSENSITIVE_CAP) != 0);			for(int i = 0; i < files.length - 1; i++)			{				if(MiscUtilities.compareStrings(					files[i],file,ignoreCase) == 0)				{					return files[i+1];				}			}			return null;		}	} //}}}	//{{{ getFiles() method	public synchronized String[] getFiles(View view)	{		if(files == null)			files = _getFiles(view);		if(files == null || files.length == 0)			return null;		else			return files;	} //}}}	//{{{ getFileCount() method	public synchronized int getFileCount(View view)	{		if(files == null)			files = _getFiles(view);		if(files == null)			return 0;		else			return files.length;	} //}}}	//{{{ getCode() method	public String getCode()	{		// not supported for arbitriary filesets		return null;	} //}}}	//{{{ invalidateCachedList() method	public synchronized void invalidateCachedList()	{		files = null;	} //}}}	/**	 * Note that the paths in the returned list must be	 * fully canonicalized.	 */	protected abstract String[] _getFiles(Component comp);	private String[] files;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -