mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-11-29 11:49:29 +00:00
wrap print lines at 80 columns
This commit is contained in:
parent
76b2d4a291
commit
d6d0b1672e
@ -21,6 +21,8 @@ public class UserBasicFormatter extends BasicFormatter
|
|||||||
private static final int INDENT_SIZE = 2;
|
private static final int INDENT_SIZE = 2;
|
||||||
private static final String EIGHT_SPACES = " ";
|
private static final String EIGHT_SPACES = " ";
|
||||||
private static final String FOUR_SPACES = " ";
|
private static final String FOUR_SPACES = " ";
|
||||||
|
private static boolean FORCE = true;
|
||||||
|
private static boolean NO_FORCE = false;
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
public UserBasicFormatter (ApplesoftBasicProgram program,
|
public UserBasicFormatter (ApplesoftBasicProgram program,
|
||||||
@ -112,13 +114,22 @@ public class UserBasicFormatter extends BasicFormatter
|
|||||||
int inset = Math.max (text.length (), getIndent (fullText)) + 1;
|
int inset = Math.max (text.length (), getIndent (fullText)) + 1;
|
||||||
if (subline.is (TOKEN_REM) && lineText.length () > basicPreferences.wrapRemAt)
|
if (subline.is (TOKEN_REM) && lineText.length () > basicPreferences.wrapRemAt)
|
||||||
{
|
{
|
||||||
List<String> lines = splitLine (lineText, basicPreferences.wrapRemAt, ' ');
|
List<String> lines =
|
||||||
|
splitLine (lineText, basicPreferences.wrapRemAt, ' ', FORCE);
|
||||||
addSplitLines (lines, text, inset);
|
addSplitLines (lines, text, inset);
|
||||||
}
|
}
|
||||||
else if (subline.is (TOKEN_DATA)
|
else if (subline.is (TOKEN_DATA)
|
||||||
&& lineText.length () > basicPreferences.wrapDataAt)
|
&& lineText.length () > basicPreferences.wrapDataAt)
|
||||||
{
|
{
|
||||||
List<String> lines = splitLine (lineText, basicPreferences.wrapDataAt, ',');
|
List<String> lines =
|
||||||
|
splitLine (lineText, basicPreferences.wrapDataAt, ',', FORCE);
|
||||||
|
addSplitLines (lines, text, inset);
|
||||||
|
}
|
||||||
|
else if (subline.is (TOKEN_PRINT)
|
||||||
|
&& lineText.length () > basicPreferences.wrapPrintAt)
|
||||||
|
{
|
||||||
|
List<String> lines =
|
||||||
|
splitLine (lineText, basicPreferences.wrapDataAt, ';', NO_FORCE);
|
||||||
addSplitLines (lines, text, inset);
|
addSplitLines (lines, text, inset);
|
||||||
}
|
}
|
||||||
else if (subline.is (TOKEN_DIM) && basicPreferences.splitDim)
|
else if (subline.is (TOKEN_DIM) && basicPreferences.splitDim)
|
||||||
@ -162,7 +173,8 @@ public class UserBasicFormatter extends BasicFormatter
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
private List<String> splitLine (String line, int wrapLength, char breakChar)
|
private List<String> splitLine (String line, int wrapLength, char breakChar,
|
||||||
|
boolean force)
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
int spaceAt = 0;
|
int spaceAt = 0;
|
||||||
@ -182,14 +194,15 @@ public class UserBasicFormatter extends BasicFormatter
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
lines.add (line.substring (0, breakAt + 1)); // keep breakChar at end
|
lines.add (line.substring (0, breakAt + 1)); // keep breakChar at end
|
||||||
line = indent + line.substring (breakAt + 1);
|
line = indent + line.substring (breakAt + 1).trim ();
|
||||||
}
|
}
|
||||||
|
|
||||||
while (line.length () > wrapLength) // no breakChars found
|
if (force)
|
||||||
{
|
while (line.length () > wrapLength) // no breakChars found
|
||||||
lines.add (line.substring (0, wrapLength));
|
{
|
||||||
line = indent + line.substring (wrapLength);
|
lines.add (line.substring (0, wrapLength));
|
||||||
}
|
line = indent + line.substring (wrapLength);
|
||||||
|
}
|
||||||
|
|
||||||
lines.add (line);
|
lines.add (line);
|
||||||
return lines;
|
return lines;
|
||||||
|
@ -114,7 +114,6 @@ public class AppleDisk implements Disk
|
|||||||
|
|
||||||
if ("2mg".equalsIgnoreCase (suffix) || "2IMG".equals (prefix))
|
if ("2mg".equalsIgnoreCase (suffix) || "2IMG".equals (prefix))
|
||||||
{
|
{
|
||||||
// System.out.println ("checking 2mg");
|
|
||||||
if ("2IMG".equals (prefix))
|
if ("2IMG".equals (prefix))
|
||||||
{
|
{
|
||||||
Prefix2mg prefix2mg = new Prefix2mg (buffer);
|
Prefix2mg prefix2mg = new Prefix2mg (buffer);
|
||||||
|
@ -51,19 +51,6 @@ public class DiskFactory
|
|||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
public static FormattedDisk createDisk (String pathName)
|
public static FormattedDisk createDisk (String pathName)
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
{
|
|
||||||
FormattedDisk disk = create (pathName);
|
|
||||||
// if (disk.getDisk ().getInterleave () > 0)
|
|
||||||
// {
|
|
||||||
// System.out.println (disk);
|
|
||||||
// System.out.println ();
|
|
||||||
// }
|
|
||||||
return disk;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
|
||||||
private static FormattedDisk create (String pathName)
|
|
||||||
// ---------------------------------------------------------------------------------//
|
|
||||||
{
|
{
|
||||||
if (debug)
|
if (debug)
|
||||||
System.out.println ("\nFactory : " + pathName);
|
System.out.println ("\nFactory : " + pathName);
|
||||||
|
@ -81,7 +81,4 @@ public interface FormattedDisk
|
|||||||
public int falseNegativeBlocks ();
|
public int falseNegativeBlocks ();
|
||||||
|
|
||||||
public String getName ();
|
public String getName ();
|
||||||
}
|
}
|
||||||
|
|
||||||
// getFileTypeList ()
|
|
||||||
// getFiles (FileType type)
|
|
@ -26,7 +26,7 @@ public class BasicPreferences
|
|||||||
public boolean showConstants = false;
|
public boolean showConstants = false;
|
||||||
public boolean showDuplicateSymbols = false;
|
public boolean showDuplicateSymbols = false;
|
||||||
|
|
||||||
public int wrapPrintAt = 0;
|
public int wrapPrintAt = 80;
|
||||||
public int wrapRemAt = 80;
|
public int wrapRemAt = 80;
|
||||||
public int wrapDataAt = 80;
|
public int wrapDataAt = 80;
|
||||||
|
|
||||||
|
@ -6,7 +6,10 @@ import java.time.LocalDateTime;
|
|||||||
public class Binary2Header
|
public class Binary2Header
|
||||||
// -----------------------------------------------------------------------------------//
|
// -----------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
static String[] osTypes = { "Prodos", "DOS 3.3", "Pascal", "CPM", "MS-DOS" };
|
static String[] osTypes =
|
||||||
|
{ "Prodos", "DOS 3.3", "Reserved", "DOS 3.2 or 3.1", "Pascal", "Macintosh MFS",
|
||||||
|
"Macintosh HFS", "Lisa", "CPM", "Reserved", "MS-DOS", "High Sierra (CD-ROM)",
|
||||||
|
"ISO 9660 (CD-ROM)", "AppleShare" };
|
||||||
|
|
||||||
int accessCode;
|
int accessCode;
|
||||||
int fileType;
|
int fileType;
|
||||||
|
@ -29,6 +29,8 @@ class MasterHeader
|
|||||||
{
|
{
|
||||||
if (Utility.isMagic (buffer, ptr, NuFile))
|
if (Utility.isMagic (buffer, ptr, NuFile))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// internet.shk has 0x2000 bytes of text at the start
|
||||||
// if (Utility.isMagic (buffer, 0x2000, NuFile))
|
// if (Utility.isMagic (buffer, 0x2000, NuFile))
|
||||||
// {
|
// {
|
||||||
// System.out.println ("found it");
|
// System.out.println ("found it");
|
||||||
|
Loading…
Reference in New Issue
Block a user