mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-21 14:02:57 +02:00
Use a-lists for Lispy output.
- Also bump long strings onto a new line in JSON and LISP formats.
This commit is contained in:
committed by
Paul Licameli
parent
510f68e9ad
commit
5e2371c636
@@ -57,8 +57,11 @@ void CommandMessageTarget::EndStruct(){
|
||||
}
|
||||
void CommandMessageTarget::AddItem(const wxString &value, const wxString &name){
|
||||
wxString Temp = value;
|
||||
wxString Padding;
|
||||
Padding.Pad( mCounts.GetCount() *2 -2);
|
||||
Padding = (( value.length() < 15 ) || (mCounts.Last()<=0)) ? "" : wxString("\n") + Padding;
|
||||
Temp.Replace("\"", "\\\"");// escape spaces.
|
||||
Update( wxString::Format( "%s%s%s\"%s\"", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?":":"",value));
|
||||
Update( wxString::Format( "%s%s%s%s\"%s\"", (mCounts.Last()>0)?", ":"", Padding, name, !name.IsEmpty()?":":"",value));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
void CommandMessageTarget::AddBool(const bool value, const wxString &name){
|
||||
@@ -70,9 +73,16 @@ void CommandMessageTarget::AddItem(const double value, const wxString &name){
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
|
||||
void CommandMessageTarget::AddField(const wxString &name){
|
||||
void CommandMessageTarget::StartField(const wxString &name){
|
||||
Update( wxString::Format( "%s%s%s", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?":":""));
|
||||
mCounts.Last() = 0; // Lie so that we don't get a comma.
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
||||
void CommandMessageTarget::EndField(){
|
||||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
}
|
||||
|
||||
void CommandMessageTarget::Flush(){
|
||||
@@ -109,23 +119,43 @@ void LispyCommandMessageTarget::EndStruct(){
|
||||
Update( " )" );
|
||||
}
|
||||
void LispyCommandMessageTarget::AddItem(const wxString &value, const wxString &name){
|
||||
Update( wxString::Format( "%s%s%s\"%s\"", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?",":"",value));
|
||||
wxString Padding;
|
||||
Padding.Pad( mCounts.GetCount() *2 -2);
|
||||
Padding = (( value.length() < 15 ) || (mCounts.Last()<=0)) ? "" : wxString("\n") + Padding;
|
||||
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%s\"%s\"", (mCounts.Last()>0)?", ":"", Padding, value));
|
||||
else
|
||||
Update( wxString::Format( "%s%s( %s, \"%s\" )", (mCounts.Last()>0)?", ":"", Padding, name, value));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
void LispyCommandMessageTarget::AddBool(const bool value, const wxString &name){
|
||||
Update( wxString::Format( "%s%s%s%s", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?",":"",value?"True":"False"));
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%s", (mCounts.Last()>0)?", ":"",value?"True":"False"));
|
||||
else
|
||||
Update( wxString::Format( "%s( %s, %s )", (mCounts.Last()>0)?", ":"", name,value?"True":"False"));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
void LispyCommandMessageTarget::AddItem(const double value, const wxString &name){
|
||||
Update( wxString::Format( "%s%s%s%g", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?",":"",value));
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?", ":"", value));
|
||||
else
|
||||
Update( wxString::Format( "%s( %s, %g )", (mCounts.Last()>0)?", ":"", name,value));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
|
||||
void LispyCommandMessageTarget::AddField(const wxString &name){
|
||||
Update( wxString::Format( "%s%s%s", (mCounts.Last()>0)?", ":"", name, !name.IsEmpty()?",":""));
|
||||
mCounts.Last() = 0; // Lie so that we don't get a comma.
|
||||
void LispyCommandMessageTarget::StartField(const wxString &name){
|
||||
Update( wxString::Format( "%s( %s, ", (mCounts.Last()>0)?", ":"", name ));
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
||||
void LispyCommandMessageTarget::EndField(){
|
||||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
Update( " )" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -180,12 +210,16 @@ void BriefCommandMessageTarget::AddItem(const double value, const wxString &n
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
|
||||
void BriefCommandMessageTarget::AddField(const wxString &name){
|
||||
mCounts.Last() = 0; // Lie so that we don't get a comma.
|
||||
void BriefCommandMessageTarget::StartField(const wxString &name){
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
void BriefCommandMessageTarget::EndField(){
|
||||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LispifiedCommandOutputTargets::LispifiedCommandOutputTargets( CommandOutputTargets & target )
|
||||
|
@@ -85,7 +85,8 @@ public:
|
||||
virtual void AddItem(const wxString &value , const wxString &name="" );
|
||||
virtual void AddBool(const bool value , const wxString &name="" );
|
||||
virtual void AddItem(const double value , const wxString &name="" );
|
||||
virtual void AddField( const wxString &name="" );
|
||||
virtual void StartField( const wxString &name="" );
|
||||
virtual void EndField( );
|
||||
virtual void Flush();
|
||||
wxArrayInt mCounts;
|
||||
};
|
||||
@@ -103,7 +104,8 @@ public:
|
||||
virtual void AddItem(const wxString &value , const wxString &name="" ){ mTarget.AddItem(value,name);};
|
||||
virtual void AddBool(const bool value , const wxString &name="" ){ mTarget.AddBool(value,name);};
|
||||
virtual void AddItem(const double value , const wxString &name="" ){ mTarget.AddItem(value,name);};
|
||||
virtual void AddField( const wxString &name="" ){ mTarget.AddField(name);};
|
||||
virtual void StartField( const wxString &name="" ){ mTarget.StartField(name);};
|
||||
virtual void EndField( ){ mTarget.EndField();};
|
||||
virtual void Flush(){ mTarget.Flush();};
|
||||
CommandMessageTarget & mTarget;
|
||||
};
|
||||
@@ -119,7 +121,8 @@ public:
|
||||
virtual void AddItem(const wxString &value , const wxString &name="" )override;
|
||||
virtual void AddBool(const bool value , const wxString &name="" )override;
|
||||
virtual void AddItem(const double value , const wxString &name="" )override;
|
||||
virtual void AddField( const wxString &name="" )override;
|
||||
virtual void StartField( const wxString &name="" )override;
|
||||
virtual void EndField( ) override;
|
||||
};
|
||||
|
||||
class BriefCommandMessageTarget : public CommandMessageTargetDecorator /* not final */
|
||||
@@ -133,7 +136,8 @@ public:
|
||||
virtual void AddItem(const wxString &value , const wxString &name="" )override;
|
||||
virtual void AddBool(const bool value , const wxString &name="" )override;
|
||||
virtual void AddItem(const double value , const wxString &name="" )override;
|
||||
virtual void AddField( const wxString &name="" )override;
|
||||
virtual void StartField( const wxString &name="" )override;
|
||||
virtual void EndField( ) override;
|
||||
};
|
||||
|
||||
/// Used to ignore a command's progress updates
|
||||
|
Reference in New Issue
Block a user